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# Rafael Fontenelle <rffontenelle@gmail.com>, 2025
8- # Rainer Terroso, 2025
8+ # Rainer Terroso, 2026
99#
1010#, fuzzy
1111msgid ""
1212msgstr ""
1313"Project-Id-Version : Python 3.12\n "
1414"Report-Msgid-Bugs-To : \n "
15- "POT-Creation-Date : 2025-12-31 15:46 +0000\n "
15+ "POT-Creation-Date : 2026-01-03 15:39 +0000\n "
1616"PO-Revision-Date : 2025-07-18 19:58+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"Language : pt_BR\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."
@@ -1190,6 +1205,17 @@ msgid ""
11901205"will be stripped off and the remainder of the value processed using normal "
11911206"import mechanisms."
11921207msgstr ""
1208+ "Há momentos em que uma configuração precisa se referir a objetos externos à "
1209+ "configuração, por exemplo ``sys.stderr``. Se o dicionário de configuração "
1210+ "for construído usando código Python, isso é simples, mas surge um problema "
1211+ "quando a configuração é fornecida por meio de um arquivo texto (por exemplo, "
1212+ "JSON, YAML). Em um arquivo texto, não há uma forma padrão de distinguir "
1213+ "``sys.stderr`` da string literal ``'sys.stderr'``. Para facilitar essa "
1214+ "distinção, o sistema de configuração procura por determinados prefixos "
1215+ "especiais em valores de string e os trata de forma especial. Por exemplo, se "
1216+ "a string literal ``'ext://sys.stderr'`` for fornecida como um valor na "
1217+ "configuração, então o prefixo ``ext://`` será removido e o restante do valor "
1218+ "será processado usando os mecanismos normais de importação."
11931219
11941220#: ../../library/logging.config.rst:617
11951221msgid ""
@@ -1200,6 +1226,13 @@ msgid ""
12001226"manner and the result of the processing replaces the string value. If the "
12011227"prefix is not recognised, then the string value will be left as-is."
12021228msgstr ""
1229+ "O tratamento desses prefixos é feito de forma análoga ao tratamento de "
1230+ "protocolos: existe um mecanismo genérico para procurar prefixos que "
1231+ "correspondam à expressão regular ^(?P<prefix>[a-z]+)://(?P<suffix>.*), de "
1232+ "modo que, se o ``prefix`` for reconhecido, o ``suffix`` é processado de uma "
1233+ "forma dependente do prefixo e o resultado desse processamento substitui o "
1234+ "valor da string. Se o prefixo não for reconhecido, então o valor da string é "
1235+ "mantido como está."
12031236
12041237#: ../../library/logging.config.rst:629
12051238msgid "Access to internal objects"
@@ -1236,6 +1269,17 @@ msgid ""
12361269"that the ``alternate`` referred to a handler. To cater for this, a generic "
12371270"resolution system allows the user to specify:"
12381271msgstr ""
1272+ "No entanto, é necessário um mecanismo mais genérico para objetos definidos "
1273+ "pelo usuário que não são conhecidos pelo módulo :mod:`logging`. Por exemplo, "
1274+ "considere :class:`logging.handlers.MemoryHandler`, que recebe um argumento "
1275+ "``target`` que é outro manipulador para o qual delegar. Como o sistema já "
1276+ "conhece essa classe, então, na configuração, o ``target`` fornecido só "
1277+ "precisa ser o id do objeto do manipulador de destino relevante, e o sistema "
1278+ "resolverá esse id para o manipulador correspondente. Se, porém, um usuário "
1279+ "definir um ``my.package.MyHandler`` que tenha um manipulador ``alternate``, "
1280+ "o sistema de configuração não saberia que ``alternate`` se refere a um "
1281+ "manipulador. Para atender a esse caso, um sistema genérico de resolução "
1282+ "permite que o usuário especifique:"
12391283
12401284#: ../../library/logging.config.rst:651
12411285msgid ""
0 commit comments