Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commiteb3ce90

Browse files
Update translations
1 parent0082262 commiteb3ce90

File tree

4 files changed

+161
-8
lines changed

4 files changed

+161
-8
lines changed

‎library/email.examples.po

Lines changed: 87 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ msgid ""
1111
msgstr ""
1212
"Project-Id-Version:Python 3.13\n"
1313
"Report-Msgid-Bugs-To:\n"
14-
"POT-Creation-Date:2025-04-11 14:19+0000\n"
14+
"POT-Creation-Date:2025-05-23 14:55+0000\n"
1515
"PO-Revision-Date:2025-05-08 05:09+0000\n"
1616
"Last-Translator:Rafael Fontenelle <rffontenelle@gmail.com>, 2025\n"
1717
"Language-Team:Portuguese (Brazil) (https://app.transifex.com/python-doc/"
@@ -751,6 +751,92 @@ msgid ""
751751
"# Of course, there are lots of email messages that could break this simple\n"
752752
"# minded program, but it will handle the most common ones.\n"
753753
msgstr""
754+
"import os\n"
755+
"import sys\n"
756+
"import tempfile\n"
757+
"import mimetypes\n"
758+
"import webbrowser\n"
759+
"\n"
760+
"# Importa os módulos de e-mail que precisaremos\n"
761+
"from email import policy\n"
762+
"from email.parser import BytesParser\n"
763+
"\n"
764+
"\n"
765+
"def magic_html_parser(html_text, partfiles):\n"
766+
"\"\"\"Retorna HTML com segurança e link para partfiles.\n"
767+
"\n"
768+
" Reescreve os atributos href=\"cid:....\" para apontar aos arquivos em "
769+
"partfiles.\n"
770+
" Embora não seja trivial, isso deve ser possível usando html.parser.\n"
771+
"\"\"\"\n"
772+
" raise NotImplementedError(\"Add the magic needed\")\n"
773+
"\n"
774+
"\n"
775+
"# Em um programa real, você pegaria o nome de arquivo a partir dos "
776+
"argumentos.\n"
777+
"with open('outgoing.msg', 'rb') as fp:\n"
778+
" msg = BytesParser(policy=policy.default).parse(fp)\n"
779+
"\n"
780+
"# Agora os itens de cabeçalho podem ser acessados como um dicionário e\n"
781+
"# qualquer caractere não-ASCII será convertido para unicode:\n"
782+
"print('To:', msg['to'])\n"
783+
"print('From:', msg['from'])\n"
784+
"print('Subject:', msg['subject'])\n"
785+
"\n"
786+
"# Se quisermos imprimir uma prévia do conteúdo da mensagem, podemos\n"
787+
"# extrair o conteúdo menos formatado e imprimir as três primeiras linhas.\n"
788+
"# É claro que, se a mensagem não tiver uma parte de texto simples,\n"
789+
"# imprimir as três primeiras linhas de HTML provavelmente será inútil,\n"
790+
"# mas este é apenas um exemplo conceitual.\n"
791+
"simplest = msg.get_body(preferencelist=('plain', 'html'))\n"
792+
"print()\n"
793+
"print(''.join(simplest.get_content().splitlines(keepends=True)[:3]))\n"
794+
"\n"
795+
"ans = input(\"View full message?\")\n"
796+
"if ans.lower()[0] == 'n':\n"
797+
" sys.exit()\n"
798+
"\n"
799+
"# Podemos extrair a alternativa richest para exibi-la:\n"
800+
"richest = msg.get_body()\n"
801+
"partfiles = {}\n"
802+
"if richest['content-type'].maintype == 'text':\n"
803+
" if richest['content-type'].subtype == 'plain':\n"
804+
" for line in richest.get_content().splitlines():\n"
805+
" print(line)\n"
806+
" sys.exit()\n"
807+
" elif richest['content-type'].subtype == 'html':\n"
808+
" body = richest\n"
809+
" else:\n"
810+
" print(\"Don't know how to display {}\".format(richest."
811+
"get_content_type()))\n"
812+
" sys.exit()\n"
813+
"elif richest['content-type'].content_type == 'multipart/related':\n"
814+
" body = richest.get_body(preferencelist=('html'))\n"
815+
" for part in richest.iter_attachments():\n"
816+
" fn = part.get_filename()\n"
817+
" if fn:\n"
818+
" extension = os.path.splitext(part.get_filename())[1]\n"
819+
" else:\n"
820+
" extension = mimetypes.guess_extension(part.get_content_type())\n"
821+
" with tempfile.NamedTemporaryFile(suffix=extension, delete=False) as "
822+
"f:\n"
823+
" f.write(part.get_content())\n"
824+
" # remove novamente o <> para ir da forma email de cid para "
825+
"html.\n"
826+
" partfiles[part['content-id'][1:-1]] = f.name\n"
827+
"else:\n"
828+
" print(\"Don't know how to display {}\".format(richest."
829+
"get_content_type()))\n"
830+
" sys.exit()\n"
831+
"with tempfile.NamedTemporaryFile(mode='w', delete=False) as f:\n"
832+
" f.write(magic_html_parser(body.get_content(), partfiles))\n"
833+
"webbrowser.open(f.name)\n"
834+
"os.remove(f.name)\n"
835+
"for fn in partfiles.values():\n"
836+
" os.remove(fn)\n"
837+
"\n"
838+
"# É claro que há muitas mensagens de e-mail que podem quebrar\n"
839+
"# esse simples programa, mas ele lidará com as mais comuns.\n"
754840

755841
#:../../library/email.examples.rst:52
756842
msgid"Up to the prompt, the output from the above is:"

‎potodo.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@
6868

6969

7070

71-
#library (64.50% done)
71+
#library (64.51% done)
7272

7373
- array.po 84 / 86 ( 97.0% translated).
7474
- asyncio-dev.po 16 / 54 ( 29.0% translated).
@@ -96,7 +96,6 @@
9696
- email.compat32-message.po 6 / 115 ( 5.0% translated).
9797
- email.contentmanager.po 9 / 42 ( 21.0% translated).
9898
- email.errors.po 6 / 26 ( 23.0% translated).
99-
- email.examples.po 19 / 20 ( 95.0% translated).
10099
- email.header.po 4 / 40 ( 10.0% translated).
101100
- email.headerregistry.po 12 / 111 ( 10.0% translated).
102101
- email.message.po 7 / 110 ( 6.0% translated).
@@ -194,7 +193,7 @@
194193
- cmdline.po 248 / 249 ( 99.0% translated).
195194

196195

197-
#whatsnew (46.27% done)
196+
#whatsnew (46.38% done)
198197

199198
- 2.3.po 327 / 387 ( 84.0% translated).
200199
- 2.4.po 266 / 319 ( 83.0% translated).
@@ -208,8 +207,8 @@
208207
- 3.5.po 126 / 578 ( 21.0% translated).
209208
- 3.6.po 237 / 544 ( 43.0% translated).
210209
- 3.7.po 252 / 568 ( 44.0% translated).
211-
- changelog.po2451 / 12361 (19.0% translated).
210+
- changelog.po2476 / 12361 (20.0% translated).
212211

213212

214-
#TOTAL (61.50% done)
213+
#TOTAL (61.54% done)
215214

‎stats.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"completion":"61.5%","translated":46756,"entries":76022,"updated_at":"2025-06-03T23:30:40+00:00Z"}
1+
{"completion":"61.54%","translated":46782,"entries":76022,"updated_at":"2025-06-04T23:30:33+00:00Z"}

‎whatsnew/changelog.po

Lines changed: 69 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,14 +110,18 @@ msgid ""
110110
"synchronize the parent process with the child process: wait until the child "
111111
"process starts sleeping. Patch by Victor Stinner."
112112
msgstr ""
113+
":gh:`133744`: Corrigido o teste de interrupção de multiprocessamento. "
114+
"Adicionado um evento para sincronizar o processo pai com o processo filho: "
115+
"aguardar até que o processo filho comece a hibernar. Patch por Victor "
116+
"Stinner."
113117

114118
#: ../NEWS:29
115119
msgid ""
116120
":gh:`133639`: Fix ``TestPyReplAutoindent.test_auto_indent_default()`` "
117121
"doesn't run ``input_code``."
118122
msgstr ""
119123
":gh:`133639`: Corrige ``TestPyReplAutoindent.test_auto_indent_default()`` "
120-
"nãoexecuta ``input_code``."
124+
"nãoexecutar ``input_code``."
121125

122126
#: ../NEWS:32
123127
msgid ""
@@ -157,13 +161,18 @@ msgid ""
157161
":gh:`133767`: Fix use-after-free in the \"unicode-escape\" decoder with a "
158162
"non-\"strict\" error handler."
159163
msgstr ""
164+
":gh:`133767`: Corrige uso após liberação no decodificador \"unicode-escape\" "
165+
"com um tratador de erros não \"estrito\"."
160166

161167
#: ../NEWS:45
162168
msgid ""
163169
":gh:`128840`: Short-circuit the processing of long IPv6 addresses early in :"
164170
"mod:`ipaddress` to prevent excessive memory consumption and a minor denial-"
165171
"of-service."
166172
msgstr ""
173+
":gh:`128840`: Faz um curto-circuito no processamento de endereços IPv6 "
174+
"longos no início de :mod:`ipaddress` para evitar consumo excessivo de "
175+
"memória e uma pequena negação de serviço."
167176

168177
#: ../NEWS:50 ../NEWS:411 ../NEWS:790 ../NEWS:1155 ../NEWS:1832 ../NEWS:2014
169178
#: ../NEWS:2273 ../NEWS:2386 ../NEWS:2626 ../NEWS:2871 ../NEWS:3299
@@ -208,65 +217,93 @@ msgid ""
208217
":gh:`80334`: :func:`multiprocessing.freeze_support` now checks for work on "
209218
"any \"spawn\" start method platform rather than only on Windows."
210219
msgstr ""
220+
":gh:`80334`: :func:`multiprocessing.freeze_support` agora verifica o "
221+
"trabalho em qualquer plataforma de método de inicialização \"spawn\", em vez "
222+
"de apenas no Windows."
211223

212224
#: ../NEWS:60
213225
msgid ""
214226
":gh:`114177`: Fix :mod:`asyncio` to not close subprocess pipes which would "
215227
"otherwise error out when the event loop is already closed."
216228
msgstr ""
229+
":gh:`114177`: Corrige :mod:`asyncio` para não fechar encadeamentos de "
230+
"subprocesso, o que de outra forma geraria erro quando o laço de eventos já "
231+
"estivesse fechado."
217232

218233
#: ../NEWS:63
219234
msgid ""
220235
":gh:`134152`: Fixed :exc:`UnboundLocalError` that could occur during :mod:"
221236
"`email` header parsing if an expected trailing delimiter is missing in some "
222237
"contexts."
223238
msgstr ""
239+
":gh:`134152`: Corrigida :exc:`UnboundLocalError` que poderia ocorrer durante "
240+
"a análise do cabeçalho :mod:`email` se um delimitador final esperado "
241+
"estivesse faltando em alguns contextos."
224242

225243
#: ../NEWS:67
226244
msgid ""
227245
":gh:`62184`: Remove import of C implementation of :class:`io.FileIO` from "
228246
"Python implementation which has its own implementation"
229247
msgstr ""
248+
":gh:`62184`: Remove a importação da implementação C de :class:`io.FileIO` da "
249+
"implementação Python que tem sua própria implementação"
230250

231251
#: ../NEWS:70
232252
msgid ""
233253
":gh:`133982`: Emit :exc:`RuntimeWarning` in the Python implementation of :"
234254
"mod:`io` when the :term:`file-like object <file object>` is not closed "
235255
"explicitly in the presence of multiple I/O layers."
236256
msgstr ""
257+
":gh:`133982`: Emite :exc:`RuntimeWarning` na implementação Python de :mod:"
258+
"`io` quando o :term:`objeto arquivo ou similar <file object>` não for "
259+
"fechado explicitamente na presença de múltiplas camadas de E/S."
237260

238261
#: ../NEWS:74
239262
msgid ""
240263
":gh:`133890`: The :mod:`tarfile` module now handles :exc:"
241264
"`UnicodeEncodeError` in the same way as :exc:`OSError` when cannot extract a "
242265
"member."
243266
msgstr ""
267+
":gh:`133890`: O módulo :mod:`tarfile` agora manipula :exc:"
268+
"`UnicodeEncodeError` da mesma forma que :exc:`OSError` quando não é possível "
269+
"extrair um membro."
244270

245271
#: ../NEWS:77
246272
msgid ""
247273
":gh:`134097`: Fix interaction of the new :term:`REPL` and :option:`-X "
248274
"showrefcount <-X>` command line option."
249275
msgstr ""
276+
":gh:`134097`: Corrige interação da :term:`REPL` e a nova opção de linha de "
277+
"comando :option:`-X showrefcount <-X>`."
250278

251279
#: ../NEWS:80
252280
msgid ""
253281
":gh:`133889`: The generated directory listing page in :class:`http.server."
254282
"SimpleHTTPRequestHandler` now only shows the decoded path component of the "
255283
"requested URL, and not the query and fragment."
256284
msgstr ""
285+
":gh:`133889`: A página de listagem de diretório gerada em :class:`http."
286+
"server.SimpleHTTPRequestHandler` agora mostra apenas o componente do caminho "
287+
"decodificado da URL solicitada, e não a consulta e o fragmento."
257288

258289
#: ../NEWS:84
259290
msgid ""
260291
":gh:`134098`: Fix handling paths that end with a percent-encoded slash "
261292
"(``%2f`` or ``%2F``) in :class:`http.server.SimpleHTTPRequestHandler`."
262293
msgstr ""
294+
":gh:`134098`: Corrige caminhos de manipulação que terminam com uma barra "
295+
"codificada em porcentagem (``%2f`` ou ``%2F``) em :class:`http.server."
296+
"SimpleHTTPRequestHandler`."
263297

264298
#: ../NEWS:87
265299
msgid ""
266300
":gh:`134062`: :mod:`ipaddress`: fix collisions in :meth:`~object.__hash__` "
267301
"for :class:`~ipaddress.IPv4Network` and :class:`~ipaddress.IPv6Network` "
268302
"objects."
269303
msgstr ""
304+
":gh:`134062`: :mod:`ipaddress`: corrige colisões em :meth:`~object.__hash__` "
305+
"para objetos :class:`~ipaddress.IPv4Network` e :class:`~ipaddress."
306+
"IPv6Network`."
270307

271308
#: ../NEWS:91
272309
msgid ""
@@ -287,12 +324,17 @@ msgid ""
287324
"negative file-descriptor in the Python implementation of :mod:`io` to match "
288325
"the C implementation."
289326
msgstr ""
327+
":gh:`71253`: Levanta :exc:`ValueError` em :func:`open` se *opener* retornar "
328+
"um descritor de arquivo negativo na implementação Python de :mod:`io` para "
329+
"corresponder à implementação C."
290330

291331
#: ../NEWS:105
292332
msgid ""
293333
":gh:`77057`: Fix handling of invalid markup declarations in :class:`html."
294334
"parser.HTMLParser`."
295335
msgstr ""
336+
":gh:`77057`: Corrige o tratamento de declarações de marcação inválidas em :"
337+
"class:`html.parser.HTMLParser`."
296338

297339
#: ../NEWS:108
298340
msgid ""
@@ -312,6 +354,11 @@ msgid ""
312354
"them, so results may change slightly, in rare cases of very small results, "
313355
"on Windows versions before 11."
314356
msgstr ""
357+
":gh:`132876`: ``ldexp()`` no Windows não arredonda resultados abaixo do "
358+
"normal antes do Windows 11, mas deveria. O invólucro de :func:`math.ldexp` "
359+
"do Python agora os arredonda, então os resultados podem mudar um pouco, em "
360+
"casos raros de resultados muito pequenos, em versões do Windows anteriores à "
361+
"11."
315362

316363
#: ../NEWS:118
317364
msgid ""
@@ -331,6 +378,9 @@ msgid ""
331378
"__deepcopy__ <object.__deepcopy__>` when the element is concurrently "
332379
"mutated. Patch by Bénédikt Tran."
333380
msgstr ""
381+
":gh:`133009`: :mod:`xml.etree.ElementTree`: Corrige uma falha em :meth:"
382+
"`Element.__deepcopy__ <object.__deepcopy__>` quando o elemento sofre mutação "
383+
"simultânea. Patch por Bénédikt Tran."
334384

335385
#: ../NEWS:127
336386
msgid ""
@@ -454,6 +504,8 @@ msgid ""
454504
":gh:`91555`: Ignore log messages generated during handling of log messages, "
455505
"to avoid deadlock or infinite recursion."
456506
msgstr ""
507+
":gh:`91555`: Ignora mensagens de log geradas durante o tratamento de "
508+
"mensagens de log para evitar impasse ou recursão infinita."
457509

458510
#: ../NEWS:175
459511
msgid ""
@@ -541,6 +593,8 @@ msgid ""
541593
":gh:`86155`: :meth:`html.parser.HTMLParser.close` no longer loses data when "
542594
"the ``<script>`` tag is not closed. Patch by Waylan Limberg."
543595
msgstr ""
596+
":gh:`86155`: :meth:`html.parser.HTMLParser.close` não perde mais dados "
597+
"quando a tag ``<script>`` não está fechada. Patch por Waylan Limberg."
544598

545599
#: ../NEWS:211
546600
msgid ""
@@ -648,25 +702,35 @@ msgid ""
648702
":gh:`134381`: Fix :exc:`RuntimeError` when using a not-started :class:"
649703
"`threading.Thread` after calling :func:`os.fork`"
650704
msgstr ""
705+
":gh:`134381`: Corrige :exc:`RuntimeError` ao usar um :class:`threading."
706+
"Thread` não iniciado após chamar :func:`os.fork`"
651707

652708
#: ../NEWS:240
653709
msgid ""
654710
":gh:`128066`: Fixes an edge case where PyREPL improperly threw an error when "
655711
"Python is invoked on a read only filesystem while trying to write history "
656712
"file entries."
657713
msgstr ""
714+
":gh:`128066`: Corrige um caso extremo em que o PyREPL levantava um erro "
715+
"incorretamente quando o Python era invocado em um sistema de arquivos "
716+
"somente leitura ao tentar gravar entradas no arquivo de histórico."
658717

659718
#: ../NEWS:244
660719
msgid ""
661720
":gh:`134100`: Fix a use-after-free bug that occurs when an imported module "
662721
"isn't in :data:`sys.modules` after its initial import. Patch by Nico-Posada."
663722
msgstr ""
723+
":gh:`134100`: Corrige um bug de uso após liberação que ocorre quando um "
724+
"módulo importado não está em :data:`sys.modules` após sua importação "
725+
"inicial. Patch por Nico-Posada."
664726

665727
#: ../NEWS:248
666728
msgid ""
667729
":gh:`133703`: Fix hashtable in dict can be bigger than intended in some "
668730
"situations."
669731
msgstr ""
732+
":gh:`133703`: Corrige que a tabela de hash no dicionário pode ser maior do "
733+
"que o pretendido em algumas situações."
670734

671735
#: ../NEWS:251
672736
msgid ""
@@ -736,6 +800,8 @@ msgid ""
736800
":gh:`132542`: Update :attr:`Thread.native_id <threading.Thread.native_id>` "
737801
"after :manpage:`fork(2)` to ensure accuracy. Patch by Noam Cohen."
738802
msgstr ""
803+
":gh:`132542`: Atualiza :attr:`Thread.native_id <threading.Thread.native_id>` "
804+
"após :manpage:`fork(2)` para garantir a precisão. Patch por Noam Cohen."
739805

740806
#: ../NEWS:280
741807
msgid ""
@@ -882,6 +948,8 @@ msgid ""
882948
":gh:`117088`: AIX linker don't support -h option, so avoid it through "
883949
"platform check"
884950
msgstr ""
951+
":gh:`117088`: O ligador AIX não oferece suporte à opção -h, portanto, evita-"
952+
"a por meio da verificação da plataforma"
885953

886954
#: ../NEWS:328
887955
msgid ""

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp