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

Skip to content

Commit e5e7f76

Browse files
[po] auto sync
1 parent ff6dcc5 commit e5e7f76

File tree

2 files changed

+142
-3
lines changed

2 files changed

+142
-3
lines changed

.stat.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"translation": "78.02%", "updated_at": "2025-05-18T06:14:23Z"}
1+
{"translation": "78.02%", "updated_at": "2025-05-18T07:12:02Z"}

c-api/typeobj.po

Lines changed: 141 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ msgid ""
2626
msgstr ""
2727
"Project-Id-Version: Python 3.14\n"
2828
"Report-Msgid-Bugs-To: \n"
29-
"POT-Creation-Date: 2025-05-08 02:53-0300\n"
29+
"POT-Creation-Date: 2025-05-16 14:19+0000\n"
3030
"PO-Revision-Date: 2021-06-28 00:50+0000\n"
3131
"Last-Translator: Freesand Leo <[email protected]>, 2025\n"
3232
"Language-Team: Chinese (China) (https://app.transifex.com/python-doc/teams/5390/zh_CN/)\n"
@@ -1308,6 +1308,101 @@ msgid ""
13081308
" uint16_t tp_versions_used;\n"
13091309
"} PyTypeObject;\n"
13101310
msgstr ""
1311+
"typedef struct _typeobject {\n"
1312+
" PyObject_VAR_HEAD\n"
1313+
" const char *tp_name; /* 用于打印,格式为 \"<module>.<name>\" */\n"
1314+
" Py_ssize_t tp_basicsize, tp_itemsize; /* 用于分配 */\n"
1315+
"\n"
1316+
" /* 用于实现标准操作的方法 */\n"
1317+
"\n"
1318+
" destructor tp_dealloc;\n"
1319+
" Py_ssize_t tp_vectorcall_offset;\n"
1320+
" getattrfunc tp_getattr;\n"
1321+
" setattrfunc tp_setattr;\n"
1322+
" PyAsyncMethods *tp_as_async; /* 原名为 tp_compare (Python 2)\n"
1323+
" 或 tp_reserved (Python 3) */\n"
1324+
" reprfunc tp_repr;\n"
1325+
"\n"
1326+
" /* 用于标准类的方法集 */\n"
1327+
"\n"
1328+
" PyNumberMethods *tp_as_number;\n"
1329+
" PySequenceMethods *tp_as_sequence;\n"
1330+
" PyMappingMethods *tp_as_mapping;\n"
1331+
"\n"
1332+
" /* 更多标准操作 (这些用于二进制兼容) */\n"
1333+
"\n"
1334+
" hashfunc tp_hash;\n"
1335+
" ternaryfunc tp_call;\n"
1336+
" reprfunc tp_str;\n"
1337+
" getattrofunc tp_getattro;\n"
1338+
" setattrofunc tp_setattro;\n"
1339+
"\n"
1340+
" /* 用于以输入/输出缓冲区方式访问对象的函数 */\n"
1341+
" PyBufferProcs *tp_as_buffer;\n"
1342+
"\n"
1343+
" /* 用于定义可选/扩展特性是否存在的旗标 */\n"
1344+
" unsigned long tp_flags;\n"
1345+
"\n"
1346+
" const char *tp_doc; /* 文档字符串 */\n"
1347+
"\n"
1348+
" /* 在 2.0 发布版中分配的含义 */\n"
1349+
" /* 为所有可访问的对象调用函数 */\n"
1350+
" traverseproc tp_traverse;\n"
1351+
"\n"
1352+
" /* 删除对所包含对象的引用 */\n"
1353+
" inquiry tp_clear;\n"
1354+
"\n"
1355+
" /* 在 2.1 发布版中分配的含义 */\n"
1356+
" /* 富比较操作 */\n"
1357+
" richcmpfunc tp_richcompare;\n"
1358+
"\n"
1359+
" /* 启用弱引用 */\n"
1360+
" Py_ssize_t tp_weaklistoffset;\n"
1361+
"\n"
1362+
" /* 迭代器 */\n"
1363+
" getiterfunc tp_iter;\n"
1364+
" iternextfunc tp_iternext;\n"
1365+
"\n"
1366+
" /* 属性描述器和子类化内容 */\n"
1367+
" PyMethodDef *tp_methods;\n"
1368+
" PyMemberDef *tp_members;\n"
1369+
" PyGetSetDef *tp_getset;\n"
1370+
" // 堆类型的强引用,静态类型的借入引用\n"
1371+
" PyTypeObject *tp_base;\n"
1372+
" PyObject *tp_dict;\n"
1373+
" descrgetfunc tp_descr_get;\n"
1374+
" descrsetfunc tp_descr_set;\n"
1375+
" Py_ssize_t tp_dictoffset;\n"
1376+
" initproc tp_init;\n"
1377+
" allocfunc tp_alloc;\n"
1378+
" newfunc tp_new;\n"
1379+
" freefunc tp_free; /* 层级的释放内存例程 */\n"
1380+
" inquiry tp_is_gc; /* 用于 PyObject_IS_GC */\n"
1381+
" PyObject *tp_bases;\n"
1382+
" PyObject *tp_mro; /* 方法解析顺序 */\n"
1383+
" PyObject *tp_cache; /* 不再被使用 */\n"
1384+
" void *tp_subclasses; /* 对于静态内置类型这将是一个索引 */\n"
1385+
" PyObject *tp_weaklist; /* 不被用于静态内置类型 */\n"
1386+
" destructor tp_del;\n"
1387+
"\n"
1388+
" /* 类型属性缓存版本标签。 在 2.6 版中添加。\n"
1389+
" * 如果为零,则缓存无效并且必须被初始化。\n"
1390+
" */\n"
1391+
" unsigned int tp_version_tag;\n"
1392+
"\n"
1393+
" destructor tp_finalize;\n"
1394+
" vectorcallfunc tp_vectorcall;\n"
1395+
"\n"
1396+
" /* 类型监视器针对此类型的位设置 */\n"
1397+
" unsigned char tp_watched;\n"
1398+
"\n"
1399+
" /* 使用的 tp_version_tag 值数量。\n"
1400+
" * 如果针对此类型的属性缓存被禁用则设为 _Py_ATTR_CACHE_UNUSED\n"
1401+
" * (例如由于自定义的 MRO 条目而被禁用)。\n"
1402+
" * 在其他情况下,将被限制为 MAX_VERSIONS_PER_CLASS (在其他地方定义)。\n"
1403+
" */\n"
1404+
" uint16_t tp_versions_used;\n"
1405+
"} PyTypeObject;\n"
13111406

13121407
#: ../../c-api/typeobj.rst:485
13131408
msgid "PyObject Slots"
@@ -1707,6 +1802,15 @@ msgid ""
17071802
":c:func:`PyObject_GC_Del` if the instance was allocated using "
17081803
":c:macro:`PyObject_GC_New` or :c:macro:`PyObject_GC_NewVar`."
17091804
msgstr ""
1805+
"当新引用计数为零时 :c:func:`Py_DECREF` 和 :c:func:`Py_XDECREF` 宏会调用析构函数。 "
1806+
"此时,实例仍然存在,但已没有了对它的引用。 "
1807+
"析构函数应当释放该实例拥有的所有引用,释放实例拥有的内在缓冲区(使用与分配缓冲区时所用分配函数相对应的释放函数),并调用类型的 "
1808+
":c:member:`~PyTypeObject.tp_free` 函数。 如果该类型不可被子类型化(即未设置 "
1809+
":c:macro:`Py_TPFLAGS_BASETYPE` 旗标位),则允许直接调用对象的释放器而不必通过 "
1810+
":c:member:`~PyTypeObject.tp_free`。 对象的释放器应当为分配实例时所使用的释放器;如果实例是使用 "
1811+
":c:macro:`PyObject_New` 或 :c:macro:`PyObject_NewVar` 分配的则释放器通常为 "
1812+
":c:func:`PyObject_Free`,或者如果实例是使用 :c:macro:`PyObject_GC_New` 或 "
1813+
":c:macro:`PyObject_GC_NewVar` 分配的则释放器为 :c:func:`PyObject_GC_Del`。"
17101814

17111815
#: ../../c-api/typeobj.rst:700
17121816
msgid ""
@@ -1728,6 +1832,14 @@ msgid ""
17281832
" Py_TYPE(self)->tp_free(self);\n"
17291833
"}"
17301834
msgstr ""
1835+
"static void\n"
1836+
"foo_dealloc(PyObject *op)\n"
1837+
"{\n"
1838+
" foo_object *self = (foo_object *) op;\n"
1839+
" PyObject_GC_UnTrack(self);\n"
1840+
" Py_CLEAR(self->ref);\n"
1841+
" Py_TYPE(self)->tp_free(self);\n"
1842+
"}"
17311843

17321844
#: ../../c-api/typeobj.rst:715
17331845
msgid ""
@@ -1750,6 +1862,14 @@ msgid ""
17501862
" Py_DECREF(tp);\n"
17511863
"}"
17521864
msgstr ""
1865+
"static void\n"
1866+
"foo_dealloc(PyObject *op)\n"
1867+
"{\n"
1868+
" PyTypeObject *tp = Py_TYPE(op);\n"
1869+
" // free references and buffers here\n"
1870+
" tp->tp_free(op);\n"
1871+
" Py_DECREF(tp);\n"
1872+
"}"
17531873

17541874
#: ../../c-api/typeobj.rst:734
17551875
msgid ""
@@ -2697,6 +2817,15 @@ msgid ""
26972817
" return 0;\n"
26982818
"}"
26992819
msgstr ""
2820+
"static int\n"
2821+
"local_traverse(PyObject *op, visitproc visit, void *arg)\n"
2822+
"{\n"
2823+
" localobject *self = (localobject *) op;\n"
2824+
" Py_VISIT(self->args);\n"
2825+
" Py_VISIT(self->kw);\n"
2826+
" Py_VISIT(self->dict);\n"
2827+
" return 0;\n"
2828+
"}"
27002829

27012830
#: ../../c-api/typeobj.rst:1433
27022831
msgid ""
@@ -2876,6 +3005,16 @@ msgid ""
28763005
" return 0;\n"
28773006
"}"
28783007
msgstr ""
3008+
"static int\n"
3009+
"local_clear(PyObject *op)\n"
3010+
"{\n"
3011+
" localobject *self = (localobject *) op;\n"
3012+
" Py_CLEAR(self->key);\n"
3013+
" Py_CLEAR(self->args);\n"
3014+
" Py_CLEAR(self->kw);\n"
3015+
" Py_CLEAR(self->dict);\n"
3016+
" return 0;\n"
3017+
"}"
28793018

28803019
#: ../../c-api/typeobj.rst:1530
28813020
msgid ""
@@ -3623,7 +3762,7 @@ msgstr ""
36233762
msgid ""
36243763
"For static subtypes, :c:data:`PyBaseObject_Type` uses "
36253764
":c:func:`PyObject_Free`."
3626-
msgstr ""
3765+
msgstr "对于静态子类型,:c:data:`PyBaseObject_Type` 将使用 :c:func:`PyObject_Free`。"
36273766

36283767
#: ../../c-api/typeobj.rst:2025
36293768
msgid "An optional pointer to a function called by the garbage collector."

0 commit comments

Comments
 (0)