@@ -871,6 +871,9 @@ msgid ""
871871"because a better replacement exists. See :pep:`3108` for an exhaustive "
872872"list."
873873msgstr ""
874+ "许多旧模块已被移除。 其中一些,如 :mod:`!gopherlib` (不再有用) 和 :mod:`!md5` (被 :mod:`hashlib` "
875+ "替代),已根据 :pep:`4` 被弃用。 其他一些是作为移除对几种平台如 Irix, BeOS 和 Mac OS 9 支持的结果而被移除的 (参见 "
876+ ":pep:`11`)。 某些模块则由于缺少使用或因为存在更好的替代而被选入 Python 3.0 的移除计划。 完整列表参见 :pep:`3108`。"
874877
875878#: ../../whatsnew/3.0.rst:566
876879msgid ""
@@ -880,6 +883,9 @@ msgid ""
880883"However, the package is alive and well, externally maintained at "
881884"https://www.jcea.es/programacion/pybsddb.htm."
882885msgstr ""
886+ ":mod:`!bsddb3` 软件包被移除是因为随着时间的推移它存在于核心标准库已被证明由于测试的不稳定性和 Berkeley DB "
887+ "的发布计划是对核心开发者的重大负担。 不过,这个软件包仍在 https://www.jcea.es/programacion/pybsddb.htm "
888+ "获得外部维护并继续存活。"
883889
884890#: ../../whatsnew/3.0.rst:572
885891msgid ""
@@ -973,6 +979,12 @@ msgid ""
973979" The :mod:`profile` module is on the list for 3.1. The :mod:`!StringIO` "
974980"module has been turned into a class in the :mod:`io` module."
975981msgstr ""
982+ "在 Python 2.x 中的常见模式是某个模块有一个以纯 Python 实现的版本,并有一个作为 C "
983+ "扩展实现的加速版本;例如,:mod:`pickle` 和 :mod:`!cPickle`。 这造成每个此类模块的用户存在导入加速版本并在必要时回退到纯 "
984+ "Python 版本的负担。 在 Python 3.0 中,加速版本将被视为纯 Python 版本的实现细节。 "
985+ "用户应当总是导入标准版本,该版本会尝试导入加速版本并在必要时回退到纯 Python 版本。 :mod:`pickle` / "
986+ ":mod:`!cPickle` 对就获得了这样的处置。 :mod:`profile` 模块被加入了 3.1 版的处置计划。 "
987+ ":mod:`!StringIO` 模块已被转为 :mod:`io` 模块中的一个类。"
976988
977989#: ../../whatsnew/3.0.rst:602
978990msgid ""
@@ -985,16 +997,20 @@ msgid ""
985997":mod:`dbm` (:mod:`!anydbm`, :mod:`!dbhash`, :mod:`!dbm`, :mod:`!dumbdbm`, "
986998":mod:`!gdbm`, :mod:`!whichdb`)."
987999msgstr ""
1000+ ":mod:`dbm` (:mod:`!anydbm`, :mod:`!dbhash`, :mod:`!dbm`, :mod:`!dumbdbm`, "
1001+ ":mod:`!gdbm`, :mod:`!whichdb`)。"
9881002
9891003#: ../../whatsnew/3.0.rst:609
9901004msgid ":mod:`html` (:mod:`!HTMLParser`, :mod:`!htmlentitydefs`)."
991- msgstr ""
1005+ msgstr ":mod:`html` (:mod:`!HTMLParser`, :mod:`!htmlentitydefs`)。 "
9921006
9931007#: ../../whatsnew/3.0.rst:611
9941008msgid ""
9951009":mod:`http` (:mod:`!httplib`, :mod:`!BaseHTTPServer`, :mod:`!CGIHTTPServer`,"
9961010" :mod:`!SimpleHTTPServer`, :mod:`!Cookie`, :mod:`!cookielib`)."
9971011msgstr ""
1012+ ":mod:`http` (:mod:`!httplib`, :mod:`!BaseHTTPServer`, :mod:`!CGIHTTPServer`,"
1013+ " :mod:`!SimpleHTTPServer`, :mod:`!Cookie`, :mod:`!cookielib`)。"
9981014
9991015#: ../../whatsnew/3.0.rst:615
10001016msgid ""
@@ -1009,12 +1025,16 @@ msgid ""
10091025":mod:`urllib` (:mod:`!urllib`, :mod:`!urllib2`, :mod:`!urlparse`, "
10101026":mod:`!robotparse`)."
10111027msgstr ""
1028+ ":mod:`urllib` (:mod:`!urllib`, :mod:`!urllib2`, :mod:`!urlparse`, "
1029+ ":mod:`!robotparse`)。"
10121030
10131031#: ../../whatsnew/3.0.rst:623
10141032msgid ""
10151033":mod:`xmlrpc` (:mod:`!xmlrpclib`, :mod:`!DocXMLRPCServer`, "
10161034":mod:`!SimpleXMLRPCServer`)."
10171035msgstr ""
1036+ ":mod:`xmlrpc` (:mod:`!xmlrpclib`, :mod:`!DocXMLRPCServer`, "
1037+ ":mod:`!SimpleXMLRPCServer`)。"
10181038
10191039#: ../../whatsnew/3.0.rst:626
10201040msgid ""
@@ -1023,7 +1043,7 @@ msgstr "其他一些针对标准库模块的改变,未被 :pep:`3108` 覆盖
10231043
10241044#: ../../whatsnew/3.0.rst:629
10251045msgid "Killed :mod:`!sets`. Use the built-in :func:`set` class."
1026- msgstr ""
1046+ msgstr "去除了 :mod:`!sets`。 请改用内置 :func:`set` 类。 "
10271047
10281048#: ../../whatsnew/3.0.rst:631
10291049msgid ""
@@ -1052,6 +1072,8 @@ msgid ""
10521072":func:`!release_lock` are gone; use :meth:`~threading.Lock.acquire` and "
10531073":meth:`~threading.Lock.release` instead."
10541074msgstr ""
1075+ "清理了 :mod:`!thread` 模块:去除 :func:`!acquire_lock` 和 :func:`!release_lock`;改用 "
1076+ ":meth:`~threading.Lock.acquire` 和 :meth:`~threading.Lock.release`。"
10551077
10561078#: ../../whatsnew/3.0.rst:649
10571079msgid ""
@@ -1060,7 +1082,7 @@ msgstr ""
10601082
10611083#: ../../whatsnew/3.0.rst:651
10621084msgid "The :mod:`!new` module is gone."
1063- msgstr ""
1085+ msgstr ":mod:`!new` 模块已不复存在。 "
10641086
10651087#: ../../whatsnew/3.0.rst:653
10661088msgid ""
@@ -1161,6 +1183,9 @@ msgid ""
11611183"you *have* to do this, you can assign directly to the "
11621184":attr:`~BaseException.__traceback__` attribute (see below)."
11631185msgstr ""
1186+ ":pep:`3109`: 引发异常。 你现在必须使用 :samp:`raise {Exception}({args})` 而不是 "
1187+ ":samp:`raise {Exception}, {args}`。 此外,你不再可以显式地指定回溯;作为替代,如果你 *必须* "
1188+ "这样做,你可以直接赋值给 :attr:`~BaseException.__traceback__` 属性(见下文)。"
11641189
11651190#: ../../whatsnew/3.0.rst:716
11661191msgid ""
@@ -1183,6 +1208,10 @@ msgid ""
11831208" saved as the :attr:`~BaseException.__context__` attribute of the secondary "
11841209"exception. Explicit chaining is invoked with this syntax::"
11851210msgstr ""
1211+ ":pep:`3134`: 异常串连。 存在两种情况:隐式串连和显式串连。 当异常在 :keyword:`except` 或 "
1212+ ":keyword:`finally` 处理器代码块中被引发时将发生隐式串连。 通常发生这种情况是由于处理器代码块中存在程序缺陷;我们将其称为 *二级* "
1213+ "异常。 在这种情况下,(正在处理的)原始异常将被保存为该二级异常的 :attr:`~BaseException.__context__` 属性。 "
1214+ "显式串连则是由以下语法来唤起::"
11861215
11871216#: ../../whatsnew/3.0.rst:733
11881217msgid ""
@@ -1195,6 +1224,10 @@ msgid ""
11951224"traceback for each component of the chain, with the primary exception at the"
11961225" top. (Java users may recognize this behavior.)"
11971226msgstr ""
1227+ "(这里 *primary_exception* 是产生一个异常对象的任何异常,它可能是在之前被捕获的异常)。 在这种情况下,该原始异常将存储在二级异常的"
1228+ " :attr:`~BaseException.__cause__` 属性中。 如果遍历 :attr:`!__cause__` 和 "
1229+ ":attr:`~BaseException.__context__` "
1230+ "属性链时发生了未被处理的异常则会打印回溯信息并为属性链中的每个部分打印单独的回溯信息,原始异常将位于最上面。 (Java 用户可能很了解这样的行为。)"
11981231
11991232#: ../../whatsnew/3.0.rst:743
12001233msgid ""
@@ -1204,6 +1237,8 @@ msgid ""
12041237"exception, and there are fewer reasons to use :func:`sys.exc_info` (though "
12051238"the latter is not removed)."
12061239msgstr ""
1240+ ":pep:`3134`: 异常对象现在会将其回溯信息保存为 :attr:`~BaseException.__traceback__` 属性。 "
1241+ "这意味着一个异常对象现在将包含从属于异常的所有信息,没有什么理由再使用 :func:`sys.exc_info` (不过后者并未被移除)。"
12071242
12081243#: ../../whatsnew/3.0.rst:749
12091244msgid ""
@@ -1272,10 +1307,18 @@ msgid ""
12721307":attr:`~function.__doc__`, :attr:`~function.__globals__`, "
12731308":attr:`~function.__name__`, respectively."
12741309msgstr ""
1310+ "名为 :attr:`!func_X` 的函数属性已被重命名为使用 :attr:`!__X__` "
1311+ "的形式,在函数属性命名空间中释放这些名称以便作为用户自定义属性。 也就是说,:attr:`!func_closure`, "
1312+ ":attr:`!func_code`, :attr:`!func_defaults`, :attr:`!func_dict`, "
1313+ ":attr:`!func_doc`, :attr:`!func_globals`, :attr:`!func_name` 分别被重命名为 "
1314+ ":attr:`~function.__closure__`, :attr:`~function.__code__`, "
1315+ ":attr:`~function.__defaults__`, :attr:`~function.__dict__`, "
1316+ ":attr:`~function.__doc__`, :attr:`~function.__globals__`, "
1317+ ":attr:`~function.__name__`。"
12751318
12761319#: ../../whatsnew/3.0.rst:794
12771320msgid ":meth:`!__nonzero__` is now :meth:`~object.__bool__`."
1278- msgstr ""
1321+ msgstr ":meth:`!__nonzero__` 现在为 :meth:`~object.__bool__`。 "
12791322
12801323#: ../../whatsnew/3.0.rst:797
12811324msgid "Builtins"
@@ -1409,6 +1452,8 @@ msgid ""
14091452":c:func:`!PyNumber_Coerce`, :c:func:`!PyNumber_CoerceEx`, "
14101453":c:func:`!PyMember_Get`, and :c:func:`!PyMember_Set` C APIs are removed."
14111454msgstr ""
1455+ ":c:func:`!PyNumber_Coerce`, :c:func:`!PyNumber_CoerceEx`, "
1456+ ":c:func:`!PyMember_Get` 和 :c:func:`!PyMember_Set` C API 已被移除。"
14121457
14131458#: ../../whatsnew/3.0.rst:873
14141459msgid ""
@@ -1429,7 +1474,7 @@ msgstr "重命名布尔转换的 C 层级槽位和方法: ``nb_nonzero`` 现在
14291474msgid ""
14301475"Removed :c:macro:`!METH_OLDARGS` and :c:macro:`!WITH_CYCLE_GC` from the C "
14311476"API."
1432- msgstr ""
1477+ msgstr "从 C API 中移除了 :c:macro:`!METH_OLDARGS` 和 :c:macro:`!WITH_CYCLE_GC`。 "
14331478
14341479#: ../../whatsnew/3.0.rst:886
14351480msgid "Performance"