Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 67bb7a1

Browse files
Update translations
1 parent 337c371 commit 67bb7a1

File tree

6 files changed

+473
-48
lines changed

6 files changed

+473
-48
lines changed

howto/regex.po

Lines changed: 46 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ msgid ""
1111
msgstr ""
1212
"Project-Id-Version: Python 3.12\n"
1313
"Report-Msgid-Bugs-To: \n"
14-
"POT-Creation-Date: 2025-03-21 14:55+0000\n"
14+
"POT-Creation-Date: 2025-04-18 14:52+0000\n"
1515
"PO-Revision-Date: 2024-05-11 00:32+0000\n"
1616
"Last-Translator: Rafael Fontenelle <[email protected]>, 2025\n"
1717
"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/"
@@ -1254,6 +1254,10 @@ msgid ""
12541254
">>> re.match(r'From\\s+', 'From amk Thu May 14 19:12:10 1998')\n"
12551255
"<re.Match object; span=(0, 5), match='From '>"
12561256
msgstr ""
1257+
">>> print(re.match(r'From\\s+', 'Fromage amk'))\n"
1258+
"None\n"
1259+
">>> re.match(r'From\\s+', 'From amk Thu May 14 19:12:10 1998')\n"
1260+
"<re.Match object; span=(0, 5), match='From '>"
12571261

12581262
#: ../../howto/regex.rst:509
12591263
msgid ""
@@ -1680,6 +1684,10 @@ msgid ""
16801684
">>> print(re.search('^From', 'Reciting From Memory'))\n"
16811685
"None"
16821686
msgstr ""
1687+
">>> print(re.search('^From', 'From Here to Eternity'))\n"
1688+
"<re.Match object; span=(0, 4), match='From'>\n"
1689+
">>> print(re.search('^From', 'Reciting From Memory'))\n"
1690+
"None"
16831691

16841692
#: ../../howto/regex.rst:719
16851693
msgid "To match a literal ``'^'``, use ``\\^``."
@@ -1706,6 +1714,12 @@ msgid ""
17061714
">>> print(re.search('}$', '{block}\\n'))\n"
17071715
"<re.Match object; span=(6, 7), match='}'>"
17081716
msgstr ""
1717+
">>> print(re.search('}$', '{block}'))\n"
1718+
"<re.Match object; span=(6, 7), match='}'>\n"
1719+
">>> print(re.search('}$', '{block} '))\n"
1720+
"None\n"
1721+
">>> print(re.search('}$', '{block}\\n'))\n"
1722+
"<re.Match object; span=(6, 7), match='}'>"
17091723

17101724
#: ../../howto/regex.rst:732
17111725
msgid ""
@@ -2002,6 +2016,8 @@ msgid ""
20022016
">>> m.groups()\n"
20032017
"('abc', 'b')"
20042018
msgstr ""
2019+
">>> m.group(2,1,2)\n"
2020+
"('b', 'abc', 'b')"
20052021

20062022
#: ../../howto/regex.rst:856
20072023
msgid ""
@@ -2111,12 +2127,18 @@ msgid ""
21112127
"Perl's extension syntax. If the first character after the question mark is "
21122128
"a ``P``, you know that it's an extension that's specific to Python."
21132129
msgstr ""
2130+
"Python oferece suporte a diversas extensões do Perl e adiciona uma sintaxe "
2131+
"de extensão à sintaxe de extensão do Perl. Se o primeiro caractere após o "
2132+
"ponto de interrogação for um ``P``, você sabe que se trata de uma extensão "
2133+
"específica do Python."
21142134

21152135
#: ../../howto/regex.rst:904
21162136
msgid ""
21172137
"Now that we've looked at the general extension syntax, we can return to the "
21182138
"features that simplify working with groups in complex REs."
21192139
msgstr ""
2140+
"Agora que vimos a sintaxe geral da extensão, podemos retornar aos recursos "
2141+
"que simplificam o trabalho com grupos em REs complexas."
21202142

21212143
#: ../../howto/regex.rst:907
21222144
msgid ""
@@ -2140,6 +2162,12 @@ msgid ""
21402162
">>> m.groups()\n"
21412163
"()"
21422164
msgstr ""
2165+
">>> m = re.match(\"([abc])+\", \"abc\")\n"
2166+
">>> m.groups()\n"
2167+
"('c',)\n"
2168+
">>> m = re.match(\"(?:[abc])+\", \"abc\")\n"
2169+
">>> m.groups()\n"
2170+
"()"
21432171

21442172
#: ../../howto/regex.rst:919
21452173
msgid ""
@@ -2206,13 +2234,18 @@ msgid ""
22062234
"Additionally, you can retrieve named groups as a dictionary with :meth:`~re."
22072235
"Match.groupdict`::"
22082236
msgstr ""
2237+
"Além disso, você pode recuperar grupos nomeados como um dicionário com :meth:"
2238+
"`~re.Match.groupdict`::"
22092239

22102240
#: ../../howto/regex.rst:949
22112241
msgid ""
22122242
">>> m = re.match(r'(?P<first>\\w+) (?P<last>\\w+)', 'Jane Doe')\n"
22132243
">>> m.groupdict()\n"
22142244
"{'first': 'Jane', 'last': 'Doe'}"
22152245
msgstr ""
2246+
">>> m = re.match(r'(?P<first>\\w+) (?P<last>\\w+)', 'Jane Doe')\n"
2247+
">>> m.groupdict()\n"
2248+
"{'first': 'Jane', 'last': 'Doe'}"
22162249

22172250
#: ../../howto/regex.rst:953
22182251
msgid ""
@@ -2233,6 +2266,12 @@ msgid ""
22332266
" r' (?P<zonen>[-+])(?P<zoneh>[0-9][0-9])(?P<zonem>[0-9][0-9])'\n"
22342267
" r'\"')"
22352268
msgstr ""
2269+
"InternalDate = re.compile(r'INTERNALDATE \"'\n"
2270+
" r'(?P<day>[ 123][0-9])-(?P<mon>[A-Z][a-z][a-z])-'\n"
2271+
" r'(?P<year>[0-9][0-9][0-9][0-9])'\n"
2272+
" r' (?P<hour>[0-9][0-9]):(?P<min>[0-9][0-9]):(?P<sec>[0-9][0-9])'\n"
2273+
" r' (?P<zonen>[-+])(?P<zoneh>[0-9][0-9])(?P<zonem>[0-9][0-9])'\n"
2274+
" r'\"')"
22362275

22372276
#: ../../howto/regex.rst:964
22382277
msgid ""
@@ -2344,6 +2383,12 @@ msgid ""
23442383
"expression matches ``foo.bar`` and ``autoexec.bat`` and ``sendmail.cf`` and "
23452384
"``printers.conf``."
23462385
msgstr ""
2386+
"Observe que o ``.`` precisa ser tratado de forma especial, pois é um "
2387+
"metacaractere e, portanto, está dentro de uma classe de caracteres para "
2388+
"corresponder apenas a esse caractere específico. Observe também o ``$`` ao "
2389+
"final; ele é adicionado para garantir que todo o restante da string seja "
2390+
"incluído na extensão. Esta expressão regular corresponde a ``foo.bar``, "
2391+
"``autoexec.bat``, ``sendmail.cf`` e ``printers.conf``."
23472392

23482393
#: ../../howto/regex.rst:1013
23492394
msgid ""

library/pickle.po

Lines changed: 133 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ msgid ""
1111
msgstr ""
1212
"Project-Id-Version: Python 3.12\n"
1313
"Report-Msgid-Bugs-To: \n"
14-
"POT-Creation-Date: 2025-02-14 14:53+0000\n"
14+
"POT-Creation-Date: 2025-04-11 14:54+0000\n"
1515
"PO-Revision-Date: 2024-05-11 00:33+0000\n"
1616
"Last-Translator: Rafael Fontenelle <[email protected]>, 2025\n"
1717
"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/"
@@ -1634,6 +1634,99 @@ msgid ""
16341634
"if __name__ == '__main__':\n"
16351635
" main()\n"
16361636
msgstr ""
1637+
"# Exemplo simples que mostra como o ID persistente pode ser usado\n"
1638+
"# serializar com pickle objetos externos por referência.\n"
1639+
"\n"
1640+
"import pickle\n"
1641+
"import sqlite3\n"
1642+
"from collections import namedtuple\n"
1643+
"\n"
1644+
"# Classe simples que representa um registro em nosso banco de dados.\n"
1645+
"MemoRecord = namedtuple(\"MemoRecord\", \"key, task\")\n"
1646+
"\n"
1647+
"class DBPickler(pickle.Pickler):\n"
1648+
"\n"
1649+
" def persistent_id(self, obj):\n"
1650+
" # Em vez de conservar MemoRecord como uma instância de classe "
1651+
"regular,\n"
1652+
" # emitimos um ID persistente.\n"
1653+
" if isinstance(obj, MemoRecord):\n"
1654+
" # Aqui, nosso ID persistente é simplesmente uma tupla, contendo\n"
1655+
" # uma tag e uma chave, que se refere a um registro específico\n"
1656+
" # no banco de dados.\n"
1657+
" return (\"MemoRecord\", obj.key)\n"
1658+
" else:\n"
1659+
" # Se obj não tiver um ID persistente, retorna None. Significa "
1660+
"que\n"
1661+
" # obj precisa ser conservado como de costume.\n"
1662+
" return None\n"
1663+
"\n"
1664+
"\n"
1665+
"class DBUnpickler(pickle.Unpickler):\n"
1666+
"\n"
1667+
" def __init__(self, file, connection):\n"
1668+
" super().__init__(file)\n"
1669+
" self.connection = connection\n"
1670+
"\n"
1671+
" def persistent_load(self, pid):\n"
1672+
" # Este método é invocado sempre que um ID persistente é encontrado.\n"
1673+
" # Aqui, pid é a tupla retornada por DBPickler.\n"
1674+
" cursor = self.connection.cursor()\n"
1675+
" type_tag, key_id = pid\n"
1676+
" if type_tag == \"MemoRecord\":\n"
1677+
" # Busca o registro referenciado no banco de dados e retorna-o.\n"
1678+
" cursor.execute(\"SELECT * FROM memos WHERE key=?\", "
1679+
"(str(key_id),))\n"
1680+
" key, task = cursor.fetchone()\n"
1681+
" return MemoRecord(key, task)\n"
1682+
" else:\n"
1683+
" # Sempre levanta um erro se você puder retornar o objeto "
1684+
"correto.\n"
1685+
" # Caso contrário, a desserialização com pickle considerará que\n"
1686+
" # None é o objeto referenciado pelo ID persistente.\n"
1687+
" raise pickle.UnpicklingError(\"unsupported persistent object\")\n"
1688+
"\n"
1689+
"\n"
1690+
"def main():\n"
1691+
" import io\n"
1692+
" import pprint\n"
1693+
"\n"
1694+
" # Inicializa e popula nosso banco de dados.\n"
1695+
" conn = sqlite3.connect(\":memory:\")\n"
1696+
" cursor = conn.cursor()\n"
1697+
" cursor.execute(\"CREATE TABLE memos(key INTEGER PRIMARY KEY, task "
1698+
"TEXT)\")\n"
1699+
" tasks = (\n"
1700+
" 'give food to fish',\n"
1701+
" 'prepare group meeting',\n"
1702+
" 'fight with a zebra',\n"
1703+
" )\n"
1704+
" for task in tasks:\n"
1705+
" cursor.execute(\"INSERT INTO memos VALUES(NULL, ?)\", (task,))\n"
1706+
"\n"
1707+
" # Busca os registros a serem serializados com pickle.\n"
1708+
" cursor.execute(\"SELECT * FROM memos\")\n"
1709+
" memos = [MemoRecord(key, task) for key, task in cursor]\n"
1710+
" # Salva os registros usando nosso DBPickler personalizado.\n"
1711+
" file = io.BytesIO()\n"
1712+
" DBPickler(file).dump(memos)\n"
1713+
"\n"
1714+
" print(\"Pickled records:\")\n"
1715+
" pprint.pprint(memos)\n"
1716+
"\n"
1717+
" # Atualiza um registro, só por precaução.\n"
1718+
" cursor.execute(\"UPDATE memos SET task='learn italian' WHERE key=1\")\n"
1719+
"\n"
1720+
" # Carrega os registros do fluxo de dados pickle.\n"
1721+
" file.seek(0)\n"
1722+
" memos = DBUnpickler(file, conn).load()\n"
1723+
"\n"
1724+
" print(\"Unpickled records:\")\n"
1725+
" pprint.pprint(memos)\n"
1726+
"\n"
1727+
"\n"
1728+
"if __name__ == '__main__':\n"
1729+
" main()\n"
16371730

16381731
#: ../../library/pickle.rst:782
16391732
msgid "Dispatch Tables"
@@ -1804,6 +1897,14 @@ msgid ""
18041897
">>> new_reader.readline()\n"
18051898
"'3: Goodbye!'"
18061899
msgstr ""
1900+
">>> reader = TextReader(\"hello.txt\")\n"
1901+
">>> reader.readline()\n"
1902+
"'1: Hello world!'\n"
1903+
">>> reader.readline()\n"
1904+
"'2: I am line number two.'\n"
1905+
">>> new_reader = pickle.loads(pickle.dumps(reader))\n"
1906+
">>> new_reader.readline()\n"
1907+
"'3: Goodbye!'"
18071908

18081909
#: ../../library/pickle.rst:888
18091910
msgid "Custom Reduction for Types, Functions, and Other Objects"
@@ -1896,6 +1997,33 @@ msgid ""
18961997
"assert unpickled_class.__name__ == \"MyClass\"\n"
18971998
"assert unpickled_class.my_attribute == 1"
18981999
msgstr ""
2000+
"import io\n"
2001+
"import pickle\n"
2002+
"\n"
2003+
"class MyClass:\n"
2004+
" my_attribute = 1\n"
2005+
"\n"
2006+
"class MyPickler(pickle.Pickler):\n"
2007+
" def reducer_override(self, obj):\n"
2008+
" \"\"\"Redutor personalizado para MyClass.\"\"\"\n"
2009+
" if getattr(obj, \"__name__\", None) == \"MyClass\":\n"
2010+
" return type, (obj.__name__, obj.__bases__,\n"
2011+
" {'my_attribute': obj.my_attribute})\n"
2012+
" else:\n"
2013+
" # Para qualquer outro objeto, recorre à redução de costume\n"
2014+
" return NotImplemented\n"
2015+
"\n"
2016+
"f = io.BytesIO()\n"
2017+
"p = MyPickler(f)\n"
2018+
"p.dump(MyClass)\n"
2019+
"\n"
2020+
"del MyClass\n"
2021+
"\n"
2022+
"unpickled_class = pickle.loads(f.getvalue())\n"
2023+
"\n"
2024+
"assert isinstance(unpickled_class, type)\n"
2025+
"assert unpickled_class.__name__ == \"MyClass\"\n"
2026+
"assert unpickled_class.my_attribute == 1"
18992027

19002028
#: ../../library/pickle.rst:948
19012029
msgid "Out-of-band Buffers"
@@ -2142,6 +2270,10 @@ msgid ""
21422270
"hello world\n"
21432271
"0"
21442272
msgstr ""
2273+
">>> import pickle\n"
2274+
">>> pickle.loads(b\"cos\\nsystem\\n(S'echo hello world'\\ntR.\")\n"
2275+
"hello world\n"
2276+
"0"
21452277

21462278
#: ../../library/pickle.rst:1082
21472279
msgid ""

0 commit comments

Comments
 (0)