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

Skip to content

Commit 00d534c

Browse files
[po] auto sync
1 parent fbbd28d commit 00d534c

19 files changed

Lines changed: 107 additions & 104 deletions

.stat.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"translation": "95.20%", "updated_at": "2024-04-19T03:56:45Z"}
1+
{"translation": "95.20%", "updated_at": "2024-04-19T06:56:44Z"}

c-api/sys.po

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ msgid ""
205205
msgstr ""
206206
"使用 :term:`filesystem encoding and error handler` 来解码一个字节串。 如果错误处理器为 "
207207
":ref:`surrogateescape 错误处理器 <surrogateescape>`,则不可解码的字节将被解码为 U+DC80..U+DCFF "
208-
"范围内的字符;而如果一个字节序列可被解码为代理字符,则其中的字节会使用 surrogateescape 错误处理句柄来转义而不是解码它们。"
208+
"范围内的字符;而如果一个字节序列可被解码为代理字符,则其中的字节会使用 surrogateescape 错误处理器来转义而不是解码它们。"
209209

210210
#: ../../c-api/sys.rst:144
211211
msgid ""

extending/newtypes.po

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ msgstr ""
212212
":c:member:`~PyTypeObject.tp_repr` 处理器对于 :func:`repr` 一样;也就是说,它会在当 Python "
213213
"代码在你的对象的某个实例上调用 :func:`str` 时被调用。 它的实现与 :c:member:`~PyTypeObject.tp_repr` "
214214
"函数非常相似,但其结果字符串是供人类查看的。 如果未指定 :c:member:`~PyTypeObject.tp_str`,则会使用 "
215-
":c:member:`~PyTypeObject.tp_repr` 处理句柄来代替。"
215+
":c:member:`~PyTypeObject.tp_repr` 处理器来代替。"
216216

217217
#: ../../extending/newtypes.rst:188
218218
msgid "Here is a simple example::"
@@ -417,7 +417,7 @@ msgid ""
417417
msgstr ""
418418
"当调用类实例的 :meth:`~object.__setattr__` 或 :meth:`~object.__delattr__` 方法时会调用 "
419419
":c:member:`~PyTypeObject.tp_setattr` 处理器。 当需要删除一个属性时,第三个形参将为 ``NULL``。 "
420-
"下面是一个简单地引发异常的例子;如果这确实是你想要的,则 :c:member:`~PyTypeObject.tp_setattr` 处理句柄应当被设为 "
420+
"下面是一个简单地引发异常的例子;如果这确实是你想要的,则 :c:member:`~PyTypeObject.tp_setattr` 处理器应当被设为 "
421421
"``NULL``。 ::"
422422

423423
#: ../../extending/newtypes.rst:359

extending/newtypes_tutorial.po

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# SOME DESCRIPTIVE TITLE.
2-
# Copyright (C) 2001-2023, Python Software Foundation
2+
# Copyright (C) 2001-2024, Python Software Foundation
33
# This file is distributed under the same license as the Python package.
44
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
55
#
@@ -10,16 +10,16 @@
1010
# ppcfish <[email protected]>, 2022
1111
# Jing Li <[email protected]>, 2022
1212
# 高乐喆 <[email protected]>, 2023
13-
# Freesand Leo <[email protected]>, 2023
13+
# Freesand Leo <[email protected]>, 2024
1414
#
1515
#, fuzzy
1616
msgid ""
1717
msgstr ""
1818
"Project-Id-Version: Python 3.12\n"
1919
"Report-Msgid-Bugs-To: \n"
20-
"POT-Creation-Date: 2023-09-15 14:13+0000\n"
20+
"POT-Creation-Date: 2024-04-14 22:56+0000\n"
2121
"PO-Revision-Date: 2021-06-28 00:52+0000\n"
22-
"Last-Translator: Freesand Leo <[email protected]>, 2023\n"
22+
"Last-Translator: Freesand Leo <[email protected]>, 2024\n"
2323
"Language-Team: Chinese (China) (https://app.transifex.com/python-doc/teams/5390/zh_CN/)\n"
2424
"MIME-Version: 1.0\n"
2525
"Content-Type: text/plain; charset=UTF-8\n"
@@ -255,7 +255,7 @@ msgid ""
255255
"In this case, we can just use the default implementation provided by the API"
256256
" function :c:func:`PyType_GenericNew`. ::"
257257
msgstr ""
258-
"要启用对象创建,我们必须提供一个 :c:member:`~PyTypeObject.tp_new` 处理句柄。 这等价于 Python 方法 "
258+
"要启用对象创建,我们必须提供一个 :c:member:`~PyTypeObject.tp_new` 处理器。 这等价于 Python 方法 "
259259
":meth:`~object.__new__`,但必须显式地指定。 在这种情况下,我们可以使用 API 函数 "
260260
":c:func:`PyType_GenericNew` 所提供的默认实现。 ::"
261261

@@ -402,9 +402,9 @@ msgid ""
402402
" initialize the ``first`` and ``last`` attributes to non-``NULL`` default "
403403
"values."
404404
msgstr ""
405-
"``tp_new`` 处理句柄负责创建(而不是初始化)该类型的对象。 它在 Python 中被暴露为 :meth:`~object.__new__` "
405+
"``tp_new`` 处理器负责创建(而不是初始化)该类型的对象。 它在 Python 中被暴露为 :meth:`~object.__new__` "
406406
"方法。 它不需要定义 ``tp_new`` 成员,实际上许多扩展类型会简单地重用 :c:func:`PyType_GenericNew`,就像上面 "
407-
":class:`!Custom` 类型的第一个版本所做的那样。 在此情况下,我们使用 ``tp_new`` 处理句柄来将 ``first`` 和 "
407+
":class:`!Custom` 类型的第一个版本所做的那样。 在此情况下,我们使用 ``tp_new`` 处理器来将 ``first`` 和 "
408408
"``last`` 属性初始化为非 ``NULL`` 的默认值。"
409409

410410
#: ../../extending/newtypes_tutorial.rst:317
@@ -418,7 +418,7 @@ msgid ""
418418
msgstr ""
419419
"``tp_new`` 将接受被实例化的类型(不要求为 "
420420
"``CustomType``,如果被实例化的是一个子类)以及在该类型被调用时传入的任何参数,并预期返回所创建的实例。 ``tp_new`` "
421-
"处理句柄总是接受位置和关键字参数,但它们总是会忽略这些参数,而将参数处理留给初始化(即 C 中的 ``tp_init`` 或 Python 中的 "
421+
"处理器总是接受位置和关键字参数,但它们总是会忽略这些参数,而将参数处理留给初始化(即 C 中的 ``tp_init`` 或 Python 中的 "
422422
"``__init__`` 函数)方法来执行。"
423423

424424
#: ../../extending/newtypes_tutorial.rst:325
@@ -502,7 +502,7 @@ msgid ""
502502
"new attribute values. We might be tempted, for example to assign the "
503503
"``first`` member like this::"
504504
msgstr ""
505-
"不同于 ``tp_new`` 处理句柄,``tp_init`` 不保证一定会被调用 (例如,在默认情况下 :mod:`pickle` "
505+
"不同于 ``tp_new`` 处理器,``tp_init`` 不保证一定会被调用 (例如,在默认情况下 :mod:`pickle` "
506506
"模块不会在未解封的实例上调用 :meth:`~object.__init__`)。 它还可能被多次调用。 任何人都可以在我们的对象上调用 "
507507
":meth:`!__init__` 方法。 因此,我们在为属性赋新值时必须格外小心。 例如像这样给 ``first`` 成员赋值::"
508508

@@ -541,7 +541,7 @@ msgid ""
541541
":c:member:`~PyTypeObject.tp_dealloc` handler on a type which doesn't support"
542542
" cyclic garbage collection [#]_."
543543
msgstr ""
544-
"当减少一个 :c:member:`~PyTypeObject.tp_dealloc` 处理句柄内不支持循环垃圾回收的类型的引用计数的时候 [#]_."
544+
"当减少一个 :c:member:`~PyTypeObject.tp_dealloc` 处理器内不支持循环垃圾回收的类型的引用计数的时候 [#]_."
545545

546546
#: ../../extending/newtypes_tutorial.rst:424
547547
msgid ""
@@ -723,7 +723,7 @@ msgstr "我们还移除了这些属性的成员定义::"
723723
msgid ""
724724
"We also need to update the :c:member:`~PyTypeObject.tp_init` handler to only"
725725
" allow strings [#]_ to be passed::"
726-
msgstr "我们还需要将 :c:member:`~PyTypeObject.tp_init` 处理句柄更新为只允许传入字符串 [#]_::"
726+
msgstr "我们还需要将 :c:member:`~PyTypeObject.tp_init` 处理器更新为只允许传入字符串 [#]_::"
727727

728728
#: ../../extending/newtypes_tutorial.rst:639
729729
msgid ""
@@ -884,7 +884,7 @@ msgid ""
884884
"extensions will use the versions automatically provided."
885885
msgstr ""
886886
"这样就差不多了。 如果我们编写了自定义的 :c:member:`~PyTypeObject.tp_alloc` 或 "
887-
":c:member:`~PyTypeObject.tp_free` 处理句柄,则我们需要针对循环垃圾回收来修改它。 大多数扩展都将使用自动提供的版本。"
887+
":c:member:`~PyTypeObject.tp_free` 处理器,则我们需要针对循环垃圾回收来修改它。 大多数扩展都将使用自动提供的版本。"
888888

889889
#: ../../extending/newtypes_tutorial.rst:787
890890
msgid "Subclassing other types"
@@ -951,9 +951,8 @@ msgid ""
951951
msgstr ""
952952
"这个模式在编写具有自定义 :c:member:`~PyTypeObject.tp_new` 和 "
953953
":c:member:`~PyTypeObject.tp_dealloc` 成员的类型时很重要。 "
954-
":c:member:`~PyTypeObject.tp_new` 处理句柄不应为具有 "
955-
":c:member:`~PyTypeObject.tp_alloc` 的对象实际分配内存,而是让基类通过调用自己的 "
956-
":c:member:`~PyTypeObject.tp_new` 来处理它。"
954+
":c:member:`~PyTypeObject.tp_new` 处理器不应为具有 :c:member:`~PyTypeObject.tp_alloc`"
955+
" 的对象实际分配内存,而是让基类通过调用自己的 :c:member:`~PyTypeObject.tp_new` 来处理它。"
957956

958957
#: ../../extending/newtypes_tutorial.rst:847
959958
msgid ""
@@ -1000,7 +999,7 @@ msgid ""
1000999
"We relied on this in the :c:member:`~PyTypeObject.tp_dealloc` handler in "
10011000
"this example, because our type doesn't support garbage collection."
10021001
msgstr ""
1003-
"在本示例中我们需要 :c:member:`~PyTypeObject.tp_dealloc` 处理句柄中的这一机制,因为我们的类型不支持垃圾回收。"
1002+
"在本示例中我们需要 :c:member:`~PyTypeObject.tp_dealloc` 处理器中的这一机制,因为我们的类型不支持垃圾回收。"
10041003

10051004
#: ../../extending/newtypes_tutorial.rst:893
10061005
msgid ""

faq/gui.po

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# SOME DESCRIPTIVE TITLE.
2-
# Copyright (C) 2001-2023, Python Software Foundation
2+
# Copyright (C) 2001-2024, Python Software Foundation
33
# This file is distributed under the same license as the Python package.
44
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
55
#
@@ -8,18 +8,18 @@
88
# Kade For, 2021
99
# Azuk 443 <[email protected]>, 2021
1010
# ppcfish <[email protected]>, 2021
11-
# Siyuan Xu, 2021
11+
# Xu Siyuan, 2021
1212
# Alpha Du <[email protected]>, 2022
13-
# Freesand Leo <[email protected]>, 2023
13+
# Freesand Leo <[email protected]>, 2024
1414
#
1515
#, fuzzy
1616
msgid ""
1717
msgstr ""
1818
"Project-Id-Version: Python 3.12\n"
1919
"Report-Msgid-Bugs-To: \n"
20-
"POT-Creation-Date: 2023-09-08 14:13+0000\n"
20+
"POT-Creation-Date: 2024-04-14 22:56+0000\n"
2121
"PO-Revision-Date: 2021-06-28 00:52+0000\n"
22-
"Last-Translator: Freesand Leo <[email protected]>, 2023\n"
22+
"Last-Translator: Freesand Leo <[email protected]>, 2024\n"
2323
"Language-Team: Chinese (China) (https://app.transifex.com/python-doc/teams/5390/zh_CN/)\n"
2424
"MIME-Version: 1.0\n"
2525
"Content-Type: text/plain; charset=UTF-8\n"
@@ -145,7 +145,7 @@ msgid ""
145145
" the appropriate key is pressed."
146146
msgstr ""
147147
"一个经常听到的抱怨是:已经通过 :meth:`!bind` 方法 :ref:`绑定 <bindings-and-events>` "
148-
"到事件的事件处理句柄在对应的键被按下时并没有被处理。"
148+
"到事件的事件处理器在对应的键被按下时并没有被处理。"
149149

150150
#: ../../faq/gui.rst:77
151151
msgid ""

howto/logging-cookbook.po

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -15,17 +15,17 @@
1515
# cdarlint <[email protected]>, 2022
1616
# Bryan不可思议, 2023
1717
# 乐成 王, 2023
18-
# Freesand Leo <[email protected]>, 2024
1918
# WH-2099 <[email protected]>, 2024
19+
# Freesand Leo <[email protected]>, 2024
2020
#
2121
#, fuzzy
2222
msgid ""
2323
msgstr ""
2424
"Project-Id-Version: Python 3.12\n"
2525
"Report-Msgid-Bugs-To: \n"
26-
"POT-Creation-Date: 2024-04-12 14:14+0000\n"
26+
"POT-Creation-Date: 2024-04-14 22:56+0000\n"
2727
"PO-Revision-Date: 2021-06-28 00:53+0000\n"
28-
"Last-Translator: WH-2099 <wh2099@outlook.com>, 2024\n"
28+
"Last-Translator: Freesand Leo <yuqinju@163.com>, 2024\n"
2929
"Language-Team: Chinese (China) (https://app.transifex.com/python-doc/teams/5390/zh_CN/)\n"
3030
"MIME-Version: 1.0\n"
3131
"Content-Type: text/plain; charset=UTF-8\n"
@@ -198,7 +198,7 @@ msgid ""
198198
"get processed by a handler. To do this, you need to use filters. Let's look "
199199
"at a scenario where you want to arrange things as follows:"
200200
msgstr ""
201-
"有时,你想要做的可能略微不同于处理句柄中标准的级别处理方式,即某个界限以上的所有级别都会被处理句柄所处理。 要做到这一点,你需要使用过滤器。 "
201+
"有时,你想要做的可能略微不同于处理器中标准的级别处理方式,即某个界限以上的所有级别都会被处理器所处理。 要做到这一点,你需要使用过滤器。 "
202202
"让我们来看一个假设你想要执行如下安排的场景:"
203203

204204
#: ../../howto/logging-cookbook.rst:289
@@ -226,12 +226,12 @@ msgid ""
226226
"by adding a ``filters`` section parallel to ``formatters`` and ``handlers``:"
227227
msgstr ""
228228
"这个配置 *几乎* 能做到我们想要的,除了 ``sys.stdout`` 在 ``INFO`` 和 ``WARNING`` 消息之外还会显示严重级别 "
229-
"``ERROR`` 及以上的消息。 为防止这种情况,我们可以设置一个排除掉这些消息的过滤器并将其添加到相应的处理句柄。 这可以通过添加一个平行于 "
229+
"``ERROR`` 及以上的消息。 为防止这种情况,我们可以设置一个排除掉这些消息的过滤器并将其添加到相应的处理器。 这可以通过添加一个平行于 "
230230
"``formatters`` 和 ``handlers`` 的 ``filters`` 节来配置:"
231231

232232
#: ../../howto/logging-cookbook.rst:352
233233
msgid "and changing the section on the ``stdout`` handler to add it:"
234-
msgstr "并修改 ``stdout`` 处理句柄上的节来添加它:"
234+
msgstr "并修改 ``stdout`` 处理器上的节来添加它:"
235235

236236
#: ../../howto/logging-cookbook.rst:366
237237
msgid ""
@@ -370,7 +370,7 @@ msgid ""
370370
"application, to use the above approach for logging, so that any blocking "
371371
"code runs only in the ``QueueListener`` thread."
372372
msgstr ""
373-
"虽然前面的讨论没有专门提及异步代码,但需要注意当在异步代码中记录日志时,网络甚至文件处理句柄都可能会导致问题(阻塞事件循环)因为某些日志记录是在 "
373+
"虽然前面的讨论没有专门提及异步代码,但需要注意当在异步代码中记录日志时,网络甚至文件处理器都可能会导致问题(阻塞事件循环)因为某些日志记录是在 "
374374
":mod:`asyncio` 内部完成的。 如果在应用程序中使用了任何异步代码,最好的做法是使用上面的日志记录方式,这样任何阻塞式代码都将只在 "
375375
"``QueueListener`` 线程中运行。"
376376

@@ -799,7 +799,7 @@ msgstr ""
799799

800800
#: ../../howto/logging-cookbook.rst:1224
801801
msgid "Imparting contextual information in handlers"
802-
msgstr "在处理句柄中传递上下文信息"
802+
msgstr "在处理器中传递上下文信息"
803803

804804
#: ../../howto/logging-cookbook.rst:1226
805805
msgid ""
@@ -809,7 +809,7 @@ msgid ""
809809
"instead of modifying it in-place, as shown in the following script::"
810810
msgstr ""
811811
"每个 :class:`~Handler` 都有自己的过滤器链。 如果你想向一个 :class:`LogRecord` "
812-
"添加上下文信息而不使其泄露给其它处理句柄,你可以使用一个返回新 :class:`~LogRecord` 而不是原地修改它的过滤器,如下面的脚本所示::"
812+
"添加上下文信息而不使其泄露给其它处理器,你可以使用一个返回新 :class:`~LogRecord` 而不是原地修改它的过滤器,如下面的脚本所示::"
813813

814814
#: ../../howto/logging-cookbook.rst:1253
815815
msgid "Logging to a single file from multiple processes"
@@ -934,7 +934,7 @@ msgid ""
934934
msgstr ""
935935
"当使用 `Gunicorn <https://gunicorn.org/>`_ 或 `uWSGI <https://uwsgi-"
936936
"docs.readthedocs.io/en/latest/>`_ (或其他类似工具) 来部署 Web 应用时,会创建多个工作进程来处理客户端请求。 "
937-
"在这种环境下,要避免在你的 Web 应用中直接创建基于文件的处理句柄。 而应改为使用一个 :class:`SocketHandler` 将来自 Web "
937+
"在这种环境下,要避免在你的 Web 应用中直接创建基于文件的处理器。 而应改为使用一个 :class:`SocketHandler` 将来自 Web "
938938
"应用的日志发送到在单独进程中运行的监听器。 这可以通过使用一个进程管理工具例如 Supervisor 来进行设置 —— 请参阅 `Running a "
939939
"logging socket listener in production`_ 了解详情。"
940940

@@ -1087,7 +1087,7 @@ msgid ""
10871087
"not just the format string. That's because the __ notation is just syntax "
10881088
"sugar for a constructor call to one of the :samp:`{XXX}Message` classes."
10891089
msgstr ""
1090-
"需要注意的是使用这种方式不会对性能造成明显影响:实际的格式化工作不是在日志记录调用时发生的,而是在(如果)处理句柄即将把日志消息输出到日志时发生的。 "
1090+
"需要注意的是使用这种方式不会对性能造成明显影响:实际的格式化工作不是在日志记录调用时发生的,而是在(如果)处理器即将把日志消息输出到日志时发生的。 "
10911091
"因此,唯一可能令人困惑的不寻常之处在于包裹在格式字符串和参数外面的圆括号,而不仅仅是格式字符串。 这是因为 __ 标记只是对 "
10921092
":samp:`{XXX}Message` 类的构造器的调用的语法糖。"
10931093

@@ -1249,7 +1249,7 @@ msgid ""
12491249
"socket is created separately and passed to the handler (as its 'queue')::"
12501250
msgstr ""
12511251
"你可以使用 :class:`QueueHandler` 子类将消息发送给其他类型的队列 ,比如 ZeroMQ 'publish' 套接字。 "
1252-
"在以下示例中,套接字将单独创建并传给处理句柄 (作为它的 'queue')::"
1252+
"在以下示例中,套接字将单独创建并传给处理器 (作为它的 'queue')::"
12531253

12541254
#: ../../howto/logging-cookbook.rst:1874
12551255
msgid ""
@@ -1284,8 +1284,8 @@ msgid ""
12841284
"present the listener first."
12851285
msgstr ""
12861286
"通过与上一节类似的方式,我们可以使用 `pynng <https://pypi.org/project/pynng/>`_ "
1287-
"来实现监听器和处理句柄,这个包是针对 `NNG <https://nng.nanomsg.org/>`_ 的 Python 绑定,它被确定为 "
1288-
"ZeroMQ 精神上的后续者。 以下代码片段被用作演示 -- 你可以在安装了 ``pynng`` 的环境中测试它们。 为增加变化,我们先编写监听器。"
1287+
"来实现监听器和处理器,这个包是针对 `NNG <https://nng.nanomsg.org/>`_ 的 Python 绑定,它被确定为 ZeroMQ"
1288+
" 精神上的后续者。 以下代码片段被用作演示 -- 你可以在安装了 ``pynng`` 的环境中测试它们。 为增加变化,我们先编写监听器。"
12891289

12901290
#: ../../howto/logging-cookbook.rst:2037
12911291
msgid ""
@@ -1725,7 +1725,7 @@ msgid ""
17251725
"sugar for a constructor call to one of the :samp:`{XXX}Message` classes "
17261726
"shown above."
17271727
msgstr ""
1728-
"需要注意的是使用这种方式不会对性能造成明显影响:实际的格式化工作不是在日志记录调用时发生的,而是在(如果)处理句柄即将把日志消息输出到日志时发生的。 "
1728+
"需要注意的是使用这种方式不会对性能造成明显影响:实际的格式化工作不是在日志记录调用时发生的,而是在(如果)处理器即将把日志消息输出到日志时发生的。 "
17291729
"因此,唯一可能令人困惑的不寻常之处在于包裹在格式字符串和参数外面的圆括号,而不仅仅是格式字符串。 这是因为 __ 符号只是对上面显示的 "
17301730
":samp:`{XXX}Message` 类的构造器的调用的语法糖。"
17311731

@@ -2229,7 +2229,7 @@ msgid ""
22292229
"you can do so with a subclassed handler which looks something like this::"
22302230
msgstr ""
22312231
"RFC 5424 包括一些有用的特性例如对结构化数据的支持等,如果你想要能够将日志记录到带有该协议支持的 syslog "
2232-
"服务器上,你可以使用一个看起来像是这样的子类化处理句柄来实现::"
2232+
"服务器上,你可以使用一个看起来像是这样的子类化处理器来实现::"
22332233

22342234
#: ../../howto/logging-cookbook.rst:3905
22352235
msgid ""
@@ -2240,7 +2240,7 @@ msgid ""
22402240
"using something like this::"
22412241
msgstr ""
22422242
"你需要熟悉 RFC 5424 才能完全理解上面的代码,你还可能会有稍加变化的的需求(例如你要如何将结构化数据记入日志)。 "
2243-
"不管怎样,上面的代码应当根据你的特定需求来灵活调整。 通过上面的处理句柄,你可以使用类似这样的代码来传入结构化数据::"
2243+
"不管怎样,上面的代码应当根据你的特定需求来灵活调整。 通过上面的处理器,你可以使用类似这样的代码来传入结构化数据::"
22442244

22452245
#: ../../howto/logging-cookbook.rst:3919
22462246
msgid "How to treat a logger like an output stream"
@@ -2422,7 +2422,7 @@ msgstr ""
24222422
msgid ""
24232423
"Adding handlers other than :class:`~logging.NullHandler` to a logger in a "
24242424
"library"
2425-
msgstr "为库中的日志记录器添加 :class:`~logging.NullHandler` 以外的处理句柄"
2425+
msgstr "为库中的日志记录器添加 :class:`~logging.NullHandler` 以外的处理器"
24262426

24272427
#: ../../howto/logging-cookbook.rst:4121
24282428
msgid ""

0 commit comments

Comments
 (0)