55#
66# Translators:
77# Rafael Fontenelle <rffontenelle@gmail.com>, 2025
8+ # Marcos Moraes, 2025
89#
910#, fuzzy
1011msgid ""
1112msgstr ""
1213"Project-Id-Version :Python 3.12\n "
1314"Report-Msgid-Bugs-To :\n "
14- "POT-Creation-Date :2025-02-21 14:51 +0000\n "
15+ "POT-Creation-Date :2025-11-03 15:54 +0000\n "
1516"PO-Revision-Date :2025-07-18 19:57+0000\n "
16- "Last-Translator :Rafael Fontenelle <rffontenelle@gmail.com> , 2025\n "
17+ "Last-Translator :Marcos Moraes , 2025\n "
1718"Language-Team :Portuguese (Brazil) (https://app.transifex.com/python-doc/ "
1819"teams/5390/pt_BR/)\n "
1920"Language :pt_BR\n "
@@ -891,6 +892,10 @@ msgid ""
891892"bytes objects have to be wrapped in their corresponding :mod:`ctypes` type, "
892893"so that they can be converted to the required C data type::"
893894msgstr ""
895+ "Como mencionado anteriormente, todos os tipos do Python, exceto inteiros, "
896+ "strings e objetos bytes, precisam ser encapsulados em seu tipo "
897+ "correspondente de :mod:`ctypes`, para que possam ser convertidos para o tipo "
898+ "de dado C necessário."
894899
895900#: ../../library/ctypes.rst:371
896901msgid ""
@@ -912,12 +917,19 @@ msgid ""
912917"convention for variadic functions is different than that for regular "
913918"functions."
914919msgstr ""
920+ "Em muitas plataformas chamar funções variádicas por meio do ctypes é "
921+ "exatamente o mesmo que chamar funções com um número fixo de parâmetros. Em "
922+ "algumas plataformas, em particular no ARM64 para plataformas Apple, a "
923+ "convenção chamada para funções variádicas é diferente daquela usada para "
924+ "funções regulares."
915925
916926#: ../../library/ctypes.rst:386
917927msgid ""
918928"On those platforms it is required to specify the :attr:`~_CFuncPtr.argtypes` "
919929"attribute for the regular, non-variadic, function arguments:"
920930msgstr ""
931+ "Nessas plataformas é necessário especificar o atributo :attr:`~_CFuncPtr."
932+ "argtypes` para os argumentos de função regulares (não variádicos):"
921933
922934#: ../../library/ctypes.rst:389
923935msgid "libc.printf.argtypes = [ctypes.c_char_p]"
@@ -928,10 +940,13 @@ msgid ""
928940"Because specifying the attribute does not inhibit portability it is advised "
929941"to always specify :attr:`~_CFuncPtr.argtypes` for all variadic functions."
930942msgstr ""
943+ "Já que especificar o atributo não impede a portabilidade, recomenda-se "
944+ "sempre especificar o :attr:`~_CFuncPtr.argtypes` para todas as funções "
945+ "variádicas."
931946
932947#: ../../library/ctypes.rst:400
933948msgid "Calling functions with your own custom data types"
934- msgstr ""
949+ msgstr "Chamando funções com seus próprios tipos de dados personalizados "
935950
936951#: ../../library/ctypes.rst:402
937952msgid ""
@@ -941,6 +956,12 @@ msgid ""
941956"The attribute must be an integer, string, bytes, a :mod:`ctypes` instance, "
942957"or an object with an :attr:`!_as_parameter_` attribute::"
943958msgstr ""
959+ "Você também pode personalizar a conversão de argumentos do :mod:`ctypes` "
960+ "para permitir que instâncias das suas próprias classes sejam usadas como "
961+ "argumento de função. O :mod:`ctypes` procura um atributo :attr:`!"
962+ "_as_parameter_` e o utiliza como o argumento da função. O atributo deve ser "
963+ "um inteiro, string, bytes, uma instância de :mod:`ctypes`, ou um objeto com "
964+ "um atributo :attr:`!_as_parameter_`:: "
944965
945966#: ../../library/ctypes.rst:408
946967msgid ""
@@ -961,16 +982,22 @@ msgid ""
961982"_as_parameter_` instance variable, you could define a :class:`property` "
962983"which makes the attribute available on request."
963984msgstr ""
985+ "Se você não quiser armazenar os dados da instância na variável de instância :"
986+ "attr:`!_as_parameter_`, você pode definir uma :class:`property` que "
987+ "disponibilize o atributo mediante solicitação."
964988
965989#: ../../library/ctypes.rst:426
966990msgid "Specifying the required argument types (function prototypes)"
967991msgstr ""
992+ "Especificando os tipos de argumentos necessários (protótipos de função)"
968993
969994#: ../../library/ctypes.rst:428
970995msgid ""
971996"It is possible to specify the required argument types of functions exported "
972997"from DLLs by setting the :attr:`~_CFuncPtr.argtypes` attribute."
973998msgstr ""
999+ "É possível especificar os tipos de argumentos necessários de funções "
1000+ "exportadas de DLLs definindo o atributo :attr:`~_CFuncPtr.argtypes`."
9741001
9751002#: ../../library/ctypes.rst:431
9761003msgid ""
@@ -980,6 +1007,11 @@ msgid ""
9801007"string, on the other hand this is quite handy to experiment with this "
9811008"feature)::"
9821009msgstr ""
1010+ ":attr:`~_CFuncPtr.argtypes` deve ser uma sequência de tipos de dados C (a "
1011+ "função :func:`!printf` provavelmente não é um bom exemplo nesse caso, pois "
1012+ "ela aceita um número variável e diferentes tipos de parâmetros dependendo da "
1013+ "string de formato; por outro lado, ela é bastante útil para experimentar "
1014+ "esse recurso)::"
9831015
9841016#: ../../library/ctypes.rst:436
9851017msgid ""
@@ -996,6 +1028,9 @@ msgid ""
9961028"prototype for a C function), and tries to convert the arguments to valid "
9971029"types::"
9981030msgstr ""
1031+ "Especificar um formato protege contra tipos de argumentos incompatíveis "
1032+ "(assim como um protótipo para uma função em C), e tenta converter os "
1033+ "argumentos para tipos válidos::"
9991034
10001035#: ../../library/ctypes.rst:445
10011036msgid ""
@@ -1022,6 +1057,16 @@ msgid ""
10221057"bytes, a :mod:`ctypes` instance, or an object with an :attr:`!"
10231058"_as_parameter_` attribute."
10241059msgstr ""
1060+ "Se você definiu suas próprias classes que serão passadas em chamadas de "
1061+ "função, é necessário implementar um método de classe :meth:`~_CData."
1062+ "from_param` para que elas possam ser usadas na sequência :attr:`~_CFuncPtr."
1063+ "argtypes`. O método de classe :meth:`~_CData.from_param` recebe o objeto "
1064+ "Python passado para a chamada de função; ele deve realizar um typecheck ou o "
1065+ "que for necessário para garantir que esse objeto seja aceitável, e então "
1066+ "retornar o próprio objeto, seu atributo :attr:`!_as_parameter_` ou qualquer "
1067+ "valor que você queira passar como argumento da função C nesse caso. "
1068+ "Novamente, o resultado deve ser um inteiro, string, bytes, uma instância de :"
1069+ "mod:`ctypes` ou um objeto com um atributo :attr:`!_as_parameter_`. "
10251070
10261071#: ../../library/ctypes.rst:468
10271072msgid "Return types"
@@ -1033,13 +1078,19 @@ msgid ""
10331078"return types can be specified by setting the :attr:`~_CFuncPtr.restype` "
10341079"attribute of the function object."
10351080msgstr ""
1081+ "Por padrão, as funções são presumidas como retornando o tipo C :c:expr:"
1082+ "`int`. Outros retornos podem ser especificados definindo o atributo :attr:"
1083+ "`~_CFuncPtr.restype` do objeto função."
10361084
10371085#: ../../library/ctypes.rst:482
10381086msgid ""
10391087"The C prototype of :c:func:`time` is ``time_t time(time_t *)``. Because :c:"
10401088"type:`time_t` might be of a different type than the default return type :c:"
10411089"expr:`int`, you should specify the :attr:`!restype` attribute::"
10421090msgstr ""
1091+ "O protótipo C de :c:func:`time` é ``time_t time(time_t *)``. Pois :c:type:"
1092+ "`time_t` pode ser de um tipo diferente do tipo de retorno padrão :c:expr:"
1093+ "`int`, você deve especificar o atributo :attr:`!restype`."
10431094
10441095#: ../../library/ctypes.rst:486
10451096msgid ">>> libc.time.restype = c_time_t"
@@ -1048,6 +1099,8 @@ msgstr ""
10481099#: ../../library/ctypes.rst:488
10491100msgid "The argument types can be specified using :attr:`~_CFuncPtr.argtypes`::"
10501101msgstr ""
1102+ "Os tipos de argumentos podem ser especificados usando :attr:`~_CFuncPtr."
1103+ "argtypes`::"
10511104
10521105#: ../../library/ctypes.rst:490
10531106msgid ">>> libc.time.argtypes = (POINTER(c_time_t),)"
@@ -1058,6 +1111,8 @@ msgid ""
10581111"To call the function with a ``NULL`` pointer as first argument, use "
10591112"``None``::"
10601113msgstr ""
1114+ "Para chamar uma função com um ponteiro ``NULL`` como primeiro argumento, use "
1115+ "``None``::"
10611116
10621117#: ../../library/ctypes.rst:494
10631118msgid ""
@@ -1070,6 +1125,9 @@ msgid ""
10701125"Here is a more advanced example, it uses the :func:`!strchr` function, which "
10711126"expects a string pointer and a char, and returns a pointer to a string::"
10721127msgstr ""
1128+ "Aqui está um exemplo mais avançado, ele usa a função :func:`!strchr`, que "
1129+ "espera um ponteiro de string e um char, e retorna um ponteiro para uma "
1130+ "string::"
10731131
10741132#: ../../library/ctypes.rst:500
10751133msgid ""
@@ -1152,6 +1210,9 @@ msgid ""
11521210"through the :attr:`~_CFuncPtr.errcheck` attribute; see the reference manual "
11531211"for details."
11541212msgstr ""
1213+ "Por favor, repare que um mecanismo de checagem de erro muito mais poderoso "
1214+ "está disponível através do atributo :attr:`~_CFuncPtr.errcheck`; consulte o "
1215+ "manual de referência para mais detalhes."
11551216
11561217#: ../../library/ctypes.rst:565
11571218msgid "Passing pointers (or: passing parameters by reference)"