11# SOME DESCRIPTIVE TITLE.
2- # Copyright (C) 2001-2025 , Python Software Foundation
2+ # Copyright (C) 2001-2026 , Python Software Foundation
33# This file is distributed under the same license as the Python package.
44# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
55#
66# Translators:
77# python-doc bot, 2025
88# Rafael Fontenelle <rffontenelle@gmail.com>, 2025
9- # Rainer Terroso, 2025
9+ # Rainer Terroso, 2026
1010#
1111#, fuzzy
1212msgid ""
1313msgstr ""
1414"Project-Id-Version : Python 3.13\n "
1515"Report-Msgid-Bugs-To : \n "
16- "POT-Creation-Date : 2025-12-31 15:00 +0000\n "
16+ "POT-Creation-Date : 2026-01-03 14:56 +0000\n "
1717"PO-Revision-Date : 2025-09-15 01:04+0000\n "
18- "Last-Translator : Rainer Terroso, 2025 \n "
18+ "Last-Translator : Rainer Terroso, 2026 \n "
1919"Language-Team : Portuguese (Brazil) (https://app.transifex.com/python-doc/ "
2020"teams/5390/pt_BR/)\n "
2121"Language : pt_BR\n "
@@ -360,6 +360,21 @@ msgid ""
360360"``verify`` argument to :func:`listen` to prevent unrecognised configurations "
361361"from being applied."
362362msgstr ""
363+ "Como partes da configuração são passadas por :func:`eval`, o uso dessa "
364+ "função pode expor seus usuários a um risco de segurança. Embora a função "
365+ "apenas se vincule a um soquete em ``localhost`` e, portanto, não aceite "
366+ "conexões de máquinas remotas, existem cenários em que código não confiável "
367+ "pode ser executado sob a conta do processo que chama :func:`listen`. "
368+ "Especificamente, se o processo que chama :func:`listen` estiver sendo "
369+ "executado em uma máquina multiusuário onde os usuários não confiam uns nos "
370+ "outros, um usuário malicioso pode conseguir executar essencialmente código "
371+ "arbitrário no processo de um usuário vítima, simplesmente conectando-se ao "
372+ "soquete :func:`listen` da vítima e enviando uma configuração que execute "
373+ "qualquer código que o atacante queira que seja executado no processo da "
374+ "vítima. Isso é especialmente fácil de fazer se a porta padrão for usada, mas "
375+ "não é difícil mesmo se uma porta diferente for utilizada. Para evitar o "
376+ "risco de isso acontecer, use o argumento ``verify`` de :func:`listen` para "
377+ "prevenir que configurações não reconhecidas sejam aplicadas."
363378
364379#: ../../library/logging.config.rst:183
365380msgid "The ``verify`` argument was added."
@@ -1176,6 +1191,25 @@ msgid ""
11761191"foo`` would resolve to configured handler ``foo``, and not its configuration "
11771192"dictionary."
11781193msgstr ""
1194+ "Os manipuladores são configurados em ordem alfabética de suas chaves, e um "
1195+ "manipulador configurado substitui o dicionário de configuração no (cópia de "
1196+ "trabalho do) dicionário ``handlers`` no esquema. Se você usar uma construção "
1197+ "como ``cfg://handlers.foo``, então inicialmente ``handlers['foo']`` aponta "
1198+ "para o dicionário de configuração do manipulador nomeado ``foo`` e, "
1199+ "posteriormente (quando esse manipulador tiver sido configurado), passa a "
1200+ "apontar para a instância configurada do manipulador. Assim, ``cfg://handlers."
1201+ "foo`` pode ser resolvido tanto como um dicionário quanto como uma instância "
1202+ "de manipulador. Em geral, é prudente nomear os manipuladores de modo que os "
1203+ "manipuladores dependentes sejam configurados depois de quaisquer "
1204+ "manipuladores dos quais dependam; isso permite que algo como ``cfg://"
1205+ "handlers.foo`` seja usado na configuração de um manipulador que depende do "
1206+ "handler ``foo``. Se esse manipulador dependente fosse nomeado ``bar``, "
1207+ "surgiriam problemas, pois a configuração de ``bar`` seria tentada antes da "
1208+ "de ``foo``, e ``foo`` ainda não teria sido configurado. No entanto, se o "
1209+ "manipulador dependente fosse nomeado ``foobar``, ele seria configurado após "
1210+ "``foo``, com o resultado de que ``cfg://handlers.foo`` seria resolvido para "
1211+ "o manipulador ``foo`` configurado, e não para o seu dicionário de "
1212+ "configuração."
11791213
11801214#: ../../library/logging.config.rst:602
11811215msgid "Access to external objects"
@@ -1195,6 +1229,17 @@ msgid ""
11951229"will be stripped off and the remainder of the value processed using normal "
11961230"import mechanisms."
11971231msgstr ""
1232+ "Há momentos em que uma configuração precisa se referir a objetos externos à "
1233+ "configuração, por exemplo ``sys.stderr``. Se o dicionário de configuração "
1234+ "for construído usando código Python, isso é simples, mas surge um problema "
1235+ "quando a configuração é fornecida por meio de um arquivo texto (por exemplo, "
1236+ "JSON, YAML). Em um arquivo texto, não há uma forma padrão de distinguir "
1237+ "``sys.stderr`` da string literal ``'sys.stderr'``. Para facilitar essa "
1238+ "distinção, o sistema de configuração procura por determinados prefixos "
1239+ "especiais em valores de string e os trata de forma especial. Por exemplo, se "
1240+ "a string literal ``'ext://sys.stderr'`` for fornecida como um valor na "
1241+ "configuração, então o prefixo ``ext://`` será removido e o restante do valor "
1242+ "será processado usando os mecanismos normais de importação."
11981243
11991244#: ../../library/logging.config.rst:617
12001245msgid ""
@@ -1205,6 +1250,13 @@ msgid ""
12051250"manner and the result of the processing replaces the string value. If the "
12061251"prefix is not recognised, then the string value will be left as-is."
12071252msgstr ""
1253+ "O tratamento desses prefixos é feito de forma análoga ao tratamento de "
1254+ "protocolos: existe um mecanismo genérico para procurar prefixos que "
1255+ "correspondam à expressão regular ^(?P<prefix>[a-z]+)://(?P<suffix>.*), de "
1256+ "modo que, se o ``prefix`` for reconhecido, o ``suffix`` é processado de uma "
1257+ "forma dependente do prefixo e o resultado desse processamento substitui o "
1258+ "valor da string. Se o prefixo não for reconhecido, então o valor da string é "
1259+ "mantido como está."
12081260
12091261#: ../../library/logging.config.rst:629
12101262msgid "Access to internal objects"
@@ -1241,6 +1293,17 @@ msgid ""
12411293"that the ``alternate`` referred to a handler. To cater for this, a generic "
12421294"resolution system allows the user to specify:"
12431295msgstr ""
1296+ "No entanto, é necessário um mecanismo mais genérico para objetos definidos "
1297+ "pelo usuário que não são conhecidos pelo módulo :mod:`logging`. Por exemplo, "
1298+ "considere :class:`logging.handlers.MemoryHandler`, que recebe um argumento "
1299+ "``target`` que é outro manipulador para o qual delegar. Como o sistema já "
1300+ "conhece essa classe, então, na configuração, o ``target`` fornecido só "
1301+ "precisa ser o id do objeto do manipulador de destino relevante, e o sistema "
1302+ "resolverá esse id para o manipulador correspondente. Se, porém, um usuário "
1303+ "definir um ``my.package.MyHandler`` que tenha um manipulador ``alternate``, "
1304+ "o sistema de configuração não saberia que ``alternate`` se refere a um "
1305+ "manipulador. Para atender a esse caso, um sistema genérico de resolução "
1306+ "permite que o usuário especifique:"
12441307
12451308#: ../../library/logging.config.rst:651
12461309msgid ""
0 commit comments