@@ -399,12 +399,14 @@ msgid ""
399399"indexing or slicing non-BMP characters returns the expected value, so "
400400"``'\\ U0010FFFF'[0]`` now returns ``'\\ U0010FFFF'`` and not ``'\\ uDBFF'``;"
401401msgstr ""
402+ "索引或切分非 BMP 字符会返回预期的值,因此 ``'\\ U0010FFFF'[0]`` 现在会返回 ``'\\ U0010FFFF'`` 而不是 "
403+ "``'\\ uDBFF'``;"
402404
403405#: ../../whatsnew/3.3.rst:248
404406msgid ""
405407"all other functions in the standard library now correctly handle non-BMP "
406408"code points."
407- msgstr ""
409+ msgstr "标准库中的所有其他函数现在都能正确处理非 BMP 代码点。 "
408410
409411#: ../../whatsnew/3.3.rst:251
410412msgid ""
@@ -416,22 +418,22 @@ msgstr ""
416418
417419#: ../../whatsnew/3.3.rst:256
418420msgid "The :file:`./configure` flag ``--with-wide-unicode`` has been removed."
419- msgstr ""
421+ msgstr ":file:`./configure` 标志 ``--with-wide-unicode`` 已被移除。 "
420422
421423#: ../../whatsnew/3.3.rst:259
422424msgid "Performance and resource usage"
423- msgstr ""
425+ msgstr "性能和资源使用情况 "
424426
425427#: ../../whatsnew/3.3.rst:261
426428msgid ""
427429"The storage of Unicode strings now depends on the highest code point in the "
428430"string:"
429- msgstr ""
431+ msgstr "现在,Unicode 字符串的存储取决于字符串中的最高码位: "
430432
431433#: ../../whatsnew/3.3.rst:263
432434msgid ""
433435"pure ASCII and Latin1 strings (``U+0000-U+00FF``) use 1 byte per code point;"
434- msgstr ""
436+ msgstr "纯 ASCII 和 Latin1 字符串 (``U+0000-U+00FF``) 每个码位使用 1 个字节; "
435437
436438#: ../../whatsnew/3.3.rst:265
437439msgid "BMP strings (``U+0000-U+FFFF``) use 2 bytes per code point;"
@@ -453,6 +455,10 @@ msgid ""
453455"than Python 3.2, and a little bit better than Python 2.7, on a Django "
454456"benchmark (see the PEP for details)."
455457msgstr ""
458+ "这样做的效果是,对于大多数应用而言,字符串存储的内存使用量应该会大幅减少 —— 尤其是与以前的宽 unicode 版本相比 —— "
459+ "因为在许多情况下,即使在国际环境中,字符串也将是纯 ASCII 格式(因为许多字符串存储的是非人类语言数据,如 XML 片段、HTTP 标头、JSON "
460+ "编码数据等)。 出于同样的原因,我们还希望它能提高非小应用程序的 CPU 缓存效率。 在 Django 基准测试中,Python 3.3 的内存使用量比"
461+ " Python 3.2 少两到三倍,比 Python 2.7 略好一些(详情请参见 PEP)。"
456462
457463#: ../../whatsnew/3.3.rst:283
458464msgid ":pep:`393` - Flexible String Representation"
@@ -474,6 +480,7 @@ msgid ""
474480"that can be used to launch Python applications in a version independent "
475481"fashion."
476482msgstr ""
483+ "Python 3.3 的 Windows 安装程序现在包含一个 ``py`` 启动程序,可用于以版本无关的方式启动 Python 应用程序。"
477484
478485#: ../../whatsnew/3.3.rst:296
479486msgid ""
@@ -483,6 +490,8 @@ msgid ""
483490" version is used by default, but this can be overridden by including a Unix-"
484491"style\" shebang line\" in the Python script."
485492msgstr ""
493+ "双击 ``*.py`` 文件时会隐式调用该启动器。 如果系统中只安装了一个 Python 版本,则将使用该版本运行文件。 "
494+ "如果安装了多个版本,则默认使用最新版本,但也可以通过在 Python 脚本中加入 Unix 风格的“shebang 行”来覆盖该版本。"
486495
487496#: ../../whatsnew/3.3.rst:302
488497msgid ""
@@ -493,13 +502,18 @@ msgid ""
493502"Python 2 is also installed, or ``-2.6`` to specifically request an earlier "
494503"Python version when a more recent version is installed)."
495504msgstr ""
505+ "启动器也可以作为 ``py`` 应用程序在命令行中显式使用。运行 ``py`` "
506+ "遵循与隐式启动脚本相同的版本选择规则,但可以通过传递适当的参数来选择更具体的版本(例如,当 Python 2 也已安装时,使用 ``-3`` 来请求 "
507+ "Python 3;当安装了较新的 Python 版本时,使用 ``-2.6`` 来特别请求较早的 Python 版本)。"
496508
497509#: ../../whatsnew/3.3.rst:309
498510msgid ""
499511"In addition to the launcher, the Windows installer now includes an option to"
500512" add the newly installed Python to the system PATH. (Contributed by Brian "
501513"Curtin in :issue:`3561`.)"
502514msgstr ""
515+ "除了启动器之外,Windows 安装程序现在还包含一个选项,可将新安装的 Python 添加到系统 PATH 中。 (由 Brian Curtin 在 "
516+ ":issue:`3561` 中贡献)。"
503517
504518#: ../../whatsnew/3.3.rst:317
505519msgid ":pep:`397` - Python Launcher for Windows"
@@ -527,7 +541,7 @@ msgstr "PEP 3151: 重写 OS 和 IO 异常的层次结构"
527541msgid ""
528542"The hierarchy of exceptions raised by operating system errors is now both "
529543"simplified and finer-grained."
530- msgstr ""
544+ msgstr "现在,由操作系统错误引发的异常层次结构既得到了简化,又更加精细。 "
531545
532546#: ../../whatsnew/3.3.rst:332
533547msgid ""
@@ -538,6 +552,10 @@ msgid ""
538552":exc:`OSError`. The other names are kept as aliases for compatibility "
539553"reasons."
540554msgstr ""
555+ "您不必再为在 "
556+ ":exc:`OSError`、:exc:`IOError`、:exc:`EnvironmentError`、:exc:`WindowsError`、:exc:`mmap.error`、:exc:`socket.error`"
557+ " 或 :exc:`select.error` 之间选择合适的异常类型而烦恼。 所有这些异常类型现在都只有一个: :exc:`OSError`。 "
558+ "出于兼容性考虑,其他名称将作为别名保留。"
541559
542560#: ../../whatsnew/3.3.rst:339
543561msgid ""
@@ -546,6 +564,8 @@ msgid ""
546564"constant from the :mod:`errno` module, you can catch the adequate "
547565":exc:`OSError` subclass. The available subclasses are the following:"
548566msgstr ""
567+ "此外,现在捕捉特定错误条件也更容易了。无需从 :mod:`errno` 模块中检查 ``errno`` 属性(或 ``args[0]`` "
568+ ")中的特定常量,您可以捕捉适当的 :exc:`OSError` 子类。可用的子类如下:"
549569
550570#: ../../whatsnew/3.3.rst:344
551571msgid ":exc:`BlockingIOError`"
@@ -615,13 +635,13 @@ msgstr ":exc:`ConnectionResetError`"
615635msgid ""
616636"Thanks to the new exceptions, common usages of the :mod:`errno` can now be "
617637"avoided. For example, the following code written for Python 3.2::"
618- msgstr ""
638+ msgstr "有了新的异常,现在就可以避免 :mod:`errno` 的常见用法了。 例如,下面是为 Python 3.2 编写的代码: "
619639
620640#: ../../whatsnew/3.3.rst:379
621641msgid ""
622642"can now be written without the :mod:`errno` import and without manual "
623643"inspection of exception attributes::"
624- msgstr ""
644+ msgstr "现在无需导入 :mod:`errno`,也无需手动检查异常属性: "
625645
626646#: ../../whatsnew/3.3.rst:392
627647msgid ":pep:`3151` - Reworking the OS and IO Exception Hierarchy"
@@ -643,19 +663,23 @@ msgid ""
643663" generator. Additionally, the subgenerator is allowed to return with a "
644664"value, and the value is made available to the delegating generator."
645665msgstr ""
666+ "PEP 380 增加了 ``yield from`` 表达式,允许 :term:`generator` 将其部分操作委托给另一个生成器。 这样,包含 "
667+ ":keyword:`yield` 的代码部分就可以被分解出来,放在另一个生成器中。 此外,还允许子生成器返回一个值,并将该值提供给委托生成器。"
646668
647669#: ../../whatsnew/3.3.rst:411
648670msgid ""
649671"While designed primarily for use in delegating to a subgenerator, the "
650672"``yield from`` expression actually allows delegation to arbitrary "
651673"subiterators."
652- msgstr ""
674+ msgstr "虽然 ``yield from`` 表达式主要用于委托给子生成器,但它实际上允许委托给任意子生成器。 "
653675
654676#: ../../whatsnew/3.3.rst:414
655677msgid ""
656678"For simple iterators, ``yield from iterable`` is essentially just a "
657679"shortened form of ``for item in iterable: yield item``::"
658680msgstr ""
681+ "对于简单的迭代器而言,``yield from iterable`` 本质上只是 ``for item in iterable: yield "
682+ "item`` 的简写形式:"
659683
660684#: ../../whatsnew/3.3.rst:424
661685msgid ""