55#
66# Translators:
77# python-doc bot, 2025
8- # Rainer Terroso, 2025
8+ # Rainer Terroso, 2026
99#
1010#, fuzzy
1111msgid ""
1212msgstr ""
1313"Project-Id-Version : Python 3.14\n "
1414"Report-Msgid-Bugs-To : \n "
15- "POT-Creation-Date : 2025-12-31 14:15 +0000\n "
15+ "POT-Creation-Date : 2026-01-03 14:14 +0000\n "
1616"PO-Revision-Date : 2025-09-16 00:01+0000\n "
17- "Last-Translator : Rainer Terroso, 2025 \n "
17+ "Last-Translator : Rainer Terroso, 2026 \n "
1818"Language-Team : Portuguese (Brazil) (https://app.transifex.com/python-doc/ "
1919"teams/5390/pt_BR/)\n "
2020"MIME-Version : 1.0\n "
@@ -359,6 +359,21 @@ msgid ""
359359"``verify`` argument to :func:`listen` to prevent unrecognised configurations "
360360"from being applied."
361361msgstr ""
362+ "Como partes da configuração são passadas por :func:`eval`, o uso dessa "
363+ "função pode expor seus usuários a um risco de segurança. Embora a função "
364+ "apenas se vincule a um soquete em ``localhost`` e, portanto, não aceite "
365+ "conexões de máquinas remotas, existem cenários em que código não confiável "
366+ "pode ser executado sob a conta do processo que chama :func:`listen`. "
367+ "Especificamente, se o processo que chama :func:`listen` estiver sendo "
368+ "executado em uma máquina multiusuário onde os usuários não confiam uns nos "
369+ "outros, um usuário malicioso pode conseguir executar essencialmente código "
370+ "arbitrário no processo de um usuário vítima, simplesmente conectando-se ao "
371+ "soquete :func:`listen` da vítima e enviando uma configuração que execute "
372+ "qualquer código que o atacante queira que seja executado no processo da "
373+ "vítima. Isso é especialmente fácil de fazer se a porta padrão for usada, mas "
374+ "não é difícil mesmo se uma porta diferente for utilizada. Para evitar o "
375+ "risco de isso acontecer, use o argumento ``verify`` de :func:`listen` para "
376+ "prevenir que configurações não reconhecidas sejam aplicadas."
362377
363378#: ../../library/logging.config.rst:183
364379msgid "The ``verify`` argument was added."
@@ -1175,6 +1190,25 @@ msgid ""
11751190"foo`` would resolve to configured handler ``foo``, and not its configuration "
11761191"dictionary."
11771192msgstr ""
1193+ "Os manipuladores são configurados em ordem alfabética de suas chaves, e um "
1194+ "manipulador configurado substitui o dicionário de configuração no (cópia de "
1195+ "trabalho do) dicionário ``handlers`` no esquema. Se você usar uma construção "
1196+ "como ``cfg://handlers.foo``, então inicialmente ``handlers['foo']`` aponta "
1197+ "para o dicionário de configuração do manipulador nomeado ``foo`` e, "
1198+ "posteriormente (quando esse manipulador tiver sido configurado), passa a "
1199+ "apontar para a instância configurada do manipulador. Assim, ``cfg://handlers."
1200+ "foo`` pode ser resolvido tanto como um dicionário quanto como uma instância "
1201+ "de manipulador. Em geral, é prudente nomear os manipuladores de modo que os "
1202+ "manipuladores dependentes sejam configurados depois de quaisquer "
1203+ "manipuladores dos quais dependam; isso permite que algo como ``cfg://"
1204+ "handlers.foo`` seja usado na configuração de um manipulador que depende do "
1205+ "handler ``foo``. Se esse manipulador dependente fosse nomeado ``bar``, "
1206+ "surgiriam problemas, pois a configuração de ``bar`` seria tentada antes da "
1207+ "de ``foo``, e ``foo`` ainda não teria sido configurado. No entanto, se o "
1208+ "manipulador dependente fosse nomeado ``foobar``, ele seria configurado após "
1209+ "``foo``, com o resultado de que ``cfg://handlers.foo`` seria resolvido para "
1210+ "o manipulador ``foo`` configurado, e não para o seu dicionário de "
1211+ "configuração."
11781212
11791213#: ../../library/logging.config.rst:602
11801214msgid "Access to external objects"
@@ -1194,6 +1228,17 @@ msgid ""
11941228"will be stripped off and the remainder of the value processed using normal "
11951229"import mechanisms."
11961230msgstr ""
1231+ "Há momentos em que uma configuração precisa se referir a objetos externos à "
1232+ "configuração, por exemplo ``sys.stderr``. Se o dicionário de configuração "
1233+ "for construído usando código Python, isso é simples, mas surge um problema "
1234+ "quando a configuração é fornecida por meio de um arquivo texto (por exemplo, "
1235+ "JSON, YAML). Em um arquivo texto, não há uma forma padrão de distinguir "
1236+ "``sys.stderr`` da string literal ``'sys.stderr'``. Para facilitar essa "
1237+ "distinção, o sistema de configuração procura por determinados prefixos "
1238+ "especiais em valores de string e os trata de forma especial. Por exemplo, se "
1239+ "a string literal ``'ext://sys.stderr'`` for fornecida como um valor na "
1240+ "configuração, então o prefixo ``ext://`` será removido e o restante do valor "
1241+ "será processado usando os mecanismos normais de importação."
11971242
11981243#: ../../library/logging.config.rst:617
11991244msgid ""
@@ -1240,6 +1285,17 @@ msgid ""
12401285"that the ``alternate`` referred to a handler. To cater for this, a generic "
12411286"resolution system allows the user to specify:"
12421287msgstr ""
1288+ "No entanto, é necessário um mecanismo mais genérico para objetos definidos "
1289+ "pelo usuário que não são conhecidos pelo módulo :mod:`logging`. Por exemplo, "
1290+ "considere :class:`logging.handlers.MemoryHandler`, que recebe um argumento "
1291+ "``target`` que é outro manipulador para o qual delegar. Como o sistema já "
1292+ "conhece essa classe, então, na configuração, o ``target`` fornecido só "
1293+ "precisa ser o id do objeto do manipulador de destino relevante, e o sistema "
1294+ "resolverá esse id para o manipulador correspondente. Se, porém, um usuário "
1295+ "definir um ``my.package.MyHandler`` que tenha um manipulador ``alternate``, "
1296+ "o sistema de configuração não saberia que ``alternate`` se refere a um "
1297+ "manipulador. Para atender a esse caso, um sistema genérico de resolução "
1298+ "permite que o usuário especifique:"
12431299
12441300#: ../../library/logging.config.rst:651
12451301msgid ""
0 commit comments