Skip to content

Sync with cpython and translate new/fuzzy entries from upstream sync - #1239

Closed
mattwang44 wants to merge 21 commits into
python:cron/sync/3.14from
mattwang44:cron/sync/3.14
Closed

mattwang44 wants to merge 21 commits into
python:cron/sync/3.14from
mattwang44:cron/sync/3.14

Conversation

@mattwang44

Copy link
Copy Markdown
Collaborator

No description provided.

Comment thread c-api/bytes.po Outdated
Comment thread c-api/dict.po Outdated
Comment thread c-api/dict.po Outdated
Comment thread library/curses.panel.po
#: ../../library/curses.panel.rst:51
msgid "Panel objects"
msgstr ""
msgstr "面板物件"

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

因為真的是有 Panel object 所以不翻譯 Panel 會不會比較好?

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

不翻一票

mattwang44 pushed a commit to mattwang44/python-docs-zh-tw that referenced this pull request Jul 5, 2026
Addresses review feedback on PR python#1239: several c-api/*.po translations
rendered the "steals a reference" idiom as plain-text 「竊取」 instead of
linking it to the glossary via :term:`竊取 <steal>`, and one entry had
stray spacing around the markup. Applies the same fix to every remaining
occurrence across c-api/bytes.po, dict.po, exceptions.po, gen.po,
list.po, module.po, sequence.po, tuple.po, and threads.po.

Co-authored-by: Claude <noreply@anthropic.com>
mattwang44 pushed a commit to mattwang44/python-docs-zh-tw that referenced this pull request Jul 5, 2026
CI builds with sphinx-build --fail-on-warning, so the 56 warnings from
the previous push were hard failures. Root cause: two escaping bugs
introduced across the large tkinter.po translation batch.

1. A role/literal close (`` ` `` or ``` `` ```) directly followed by a
   full-width ( with no `\ ` separator confuses docutils' inline markup
   boundary detection, which can silently swallow or merge adjacent
   role references in the same paragraph -- surfacing as Sphinx's
   i18n.inconsistent_references warnings (dropped or merged :class:/
   :meth:/:attr:/:term: references) in tkinter.po, tkinter.ttk.po,
   http.cookiejar.po, and c-api/unicode.po.

2. The same applies to *emphasis*( with no space/separator before the
   parenthesis, which docutils reports as "Inline emphasis start-string
   without end-string" since the closing `*` isn't followed by a
   recognized boundary character. Fixed by adding the space that's
   already the established convention elsewhere in this file.

Also fixes a review comment on PR python#1239: removes a stray literal space
that rendered as a visible gap between adjacent Chinese text and a
role's Chinese display text in c-api/dict.po.

Co-authored-by: Claude <noreply@anthropic.com>
Comment thread c-api/exceptions.po Outdated
Comment thread c-api/threads.po Outdated
Comment thread c-api/unicode.po Outdated
Comment thread reference/expressions.po Outdated
Comment on lines +672 to +673
"在執行期,產生器運算式會被求值為一個 :term:`generator iterator`\\ (產生器疊"
"代器),它會產生和對應的 list comprehension 相同的值: ::"

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"在執行期,產生器運算式會被求值為一個 :term:`generator iterator`\\ (產生器疊"
"代器),它會產生和對應的 list comprehension 相同的值: ::"
"在 runtime,產生器運算式會被求值為一個 :term:`產生器疊代器 "
"<generator iterator>`,它會產生和對應的串列綜合運算相同的值: ::"

Comment thread reference/expressions.po Outdated
"arguments. See the :ref:`Calls section <calls>` for details. For example::"
msgstr ""
"當產生器運算式是唯一的位置引數,且沒有關鍵字引數時,呼叫中可以省略外層的括"
"號。詳情請參閱\\ :ref:`Calls 章節 <calls>`。舉例來說: ::"

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"號。詳情請參閱\\ :ref:`Calls 章節 <calls>`。舉例來說: ::"
"號。詳情請參閱 :ref:`Calls 章節 <calls>`。舉例來說: ::"

Comment thread library/imaplib.po Outdated
"`3501`, section 7.4.2), so production code should inspect the whole response "
"rather than rely on ``data[0][1]``."
msgstr ""
"一個 ``FETCH`` 回應可能會包含額外或未經請求的資料(參閱\\ :rfc:`3501`\\ 第 "

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"一個 ``FETCH`` 回應可能會包含額外或未經請求的資料(參閱\\ :rfc:`3501`\\ 第 "
"一個 ``FETCH`` 回應可能會包含額外或未經請求的資料(參閱 :rfc:`3501` 第 "

Comment thread c-api/threads.po
"非同步地在執行緒中引發例外。*id* 引數為目標執行緒的執行緒 id;*exc* 為要引發"
"的例外物件。此函式不會\\ :term:`竊取 <steal>`\\ 任何對 *exc* 的參照。為了防止"
"不當誤用,你必須自行編寫 C 擴充來呼叫此函式。呼叫時必須具有\\ :term:`已附加的"
"執行緒狀態 <attached thread state>`\\ 。回傳被修改的執行緒狀態數量;通常為"

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"執行緒狀態 <attached thread state>`\\ 。回傳被修改的執行緒狀態數量;通常為"
"執行緒狀態 <attached thread state>`。回傳被修改的執行緒狀態數量;通常為"

Comment thread library/collections.abc.po Outdated
"define ``__hash__ = Set._hash``."
msgstr ""
":class:`Set` mixin 提供了 :meth:`!_hash` 方法來計算集合的雜湊值;然而,由於並"
"非所有集合都是 :term:`hashable` 或不可變的,因此並未定義 :meth:`~object."

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"非所有集合都是 :term:`hashable` 或不可變的,因此並未定義 :meth:`~object."
"非所有集合都是\\ :term:`可雜湊的 <hashable>`\\ 或不可變的,因此並未定義 :meth:`~object."

Comment thread glossary.po

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

make :term:`term` to be :term:`中文翻譯 <term>`

mattwang44 pushed a commit to mattwang44/python-docs-zh-tw that referenced this pull request Jul 10, 2026
Addresses review feedback on PR python#1239: several c-api/*.po translations
rendered the "steals a reference" idiom as plain-text 「竊取」 instead of
linking it to the glossary via :term:`竊取 <steal>`, and one entry had
stray spacing around the markup. Applies the same fix to every remaining
occurrence across c-api/bytes.po, dict.po, exceptions.po, gen.po,
list.po, module.po, sequence.po, tuple.po, and threads.po.

Co-authored-by: Claude <noreply@anthropic.com>
mattwang44 pushed a commit to mattwang44/python-docs-zh-tw that referenced this pull request Jul 10, 2026
CI builds with sphinx-build --fail-on-warning, so the 56 warnings from
the previous push were hard failures. Root cause: two escaping bugs
introduced across the large tkinter.po translation batch.

1. A role/literal close (`` ` `` or ``` `` ```) directly followed by a
   full-width ( with no `\ ` separator confuses docutils' inline markup
   boundary detection, which can silently swallow or merge adjacent
   role references in the same paragraph -- surfacing as Sphinx's
   i18n.inconsistent_references warnings (dropped or merged :class:/
   :meth:/:attr:/:term: references) in tkinter.po, tkinter.ttk.po,
   http.cookiejar.po, and c-api/unicode.po.

2. The same applies to *emphasis*( with no space/separator before the
   parenthesis, which docutils reports as "Inline emphasis start-string
   without end-string" since the closing `*` isn't followed by a
   recognized boundary character. Fixed by adding the space that's
   already the established convention elsewhere in this file.

Also fixes a review comment on PR python#1239: removes a stray literal space
that rendered as a visible gap between adjacent Chinese text and a
role's Chinese display text in c-api/dict.po.

Co-authored-by: Claude <noreply@anthropic.com>
mattwang44 pushed a commit to mattwang44/python-docs-zh-tw that referenced this pull request Jul 17, 2026
Addresses review feedback on PR python#1239: several c-api/*.po translations
rendered the "steals a reference" idiom as plain-text 「竊取」 instead of
linking it to the glossary via :term:`竊取 <steal>`, and one entry had
stray spacing around the markup. Applies the same fix to every remaining
occurrence across c-api/bytes.po, dict.po, exceptions.po, gen.po,
list.po, module.po, sequence.po, tuple.po, and threads.po.

Co-authored-by: Claude <noreply@anthropic.com>
mattwang44 pushed a commit to mattwang44/python-docs-zh-tw that referenced this pull request Jul 17, 2026
CI builds with sphinx-build --fail-on-warning, so the 56 warnings from
the previous push were hard failures. Root cause: two escaping bugs
introduced across the large tkinter.po translation batch.

1. A role/literal close (`` ` `` or ``` `` ```) directly followed by a
   full-width ( with no `\ ` separator confuses docutils' inline markup
   boundary detection, which can silently swallow or merge adjacent
   role references in the same paragraph -- surfacing as Sphinx's
   i18n.inconsistent_references warnings (dropped or merged :class:/
   :meth:/:attr:/:term: references) in tkinter.po, tkinter.ttk.po,
   http.cookiejar.po, and c-api/unicode.po.

2. The same applies to *emphasis*( with no space/separator before the
   parenthesis, which docutils reports as "Inline emphasis start-string
   without end-string" since the closing `*` isn't followed by a
   recognized boundary character. Fixed by adding the space that's
   already the established convention elsewhere in this file.

Also fixes a review comment on PR python#1239: removes a stray literal space
that rendered as a visible gap between adjacent Chinese text and a
role's Chinese display text in c-api/dict.po.

Co-authored-by: Claude <noreply@anthropic.com>
mattwang44 pushed a commit to mattwang44/python-docs-zh-tw that referenced this pull request Jul 24, 2026
Addresses review feedback on PR python#1239: several c-api/*.po translations
rendered the "steals a reference" idiom as plain-text 「竊取」 instead of
linking it to the glossary via :term:`竊取 <steal>`, and one entry had
stray spacing around the markup. Applies the same fix to every remaining
occurrence across c-api/bytes.po, dict.po, exceptions.po, gen.po,
list.po, module.po, sequence.po, tuple.po, and threads.po.

Co-authored-by: Claude <noreply@anthropic.com>
mattwang44 pushed a commit to mattwang44/python-docs-zh-tw that referenced this pull request Jul 24, 2026
CI builds with sphinx-build --fail-on-warning, so the 56 warnings from
the previous push were hard failures. Root cause: two escaping bugs
introduced across the large tkinter.po translation batch.

1. A role/literal close (`` ` `` or ``` `` ```) directly followed by a
   full-width ( with no `\ ` separator confuses docutils' inline markup
   boundary detection, which can silently swallow or merge adjacent
   role references in the same paragraph -- surfacing as Sphinx's
   i18n.inconsistent_references warnings (dropped or merged :class:/
   :meth:/:attr:/:term: references) in tkinter.po, tkinter.ttk.po,
   http.cookiejar.po, and c-api/unicode.po.

2. The same applies to *emphasis*( with no space/separator before the
   parenthesis, which docutils reports as "Inline emphasis start-string
   without end-string" since the closing `*` isn't followed by a
   recognized boundary character. Fixed by adding the space that's
   already the established convention elsewhere in this file.

Also fixes a review comment on PR python#1239: removes a stray literal space
that rendered as a visible gap between adjacent Chinese text and a
role's Chinese display text in c-api/dict.po.

Co-authored-by: Claude <noreply@anthropic.com>
mattwang44 pushed a commit to mattwang44/python-docs-zh-tw that referenced this pull request Jul 24, 2026
Rebased onto upstream's new sync commits (cpython 6337bfd4..37a5c690) and
translated the resulting new/fuzzy backlog: 96 entries across 22 files
(c-api/{exceptions,frame,perfmaps,typeobj,veryhigh}.po, library/{ast,
calendar,compression.zstd,concurrent.interpreters,difflib,filecmp,
functions,getopt,inspect,lzma,mimetypes,secrets,sys,uu}.po,
howto/logging-cookbook.po, using/windows.po, whatsnew/3.14.po).

Also addressed outstanding review feedback on PR python#1239:
- reference/expressions.po: reworded the generator-iterator/list-
  comprehension sentence per reviewer suggestion, and dropped unneeded
  backslash escaping before the Calls-section role reference.
- library/imaplib.po: dropped unneeded backslash escaping around the
  :rfc:`3501` reference.
- library/collections.abc.po: use :term:`可雜湊的 <hashable>` instead of
  the bare English :term:`hashable` role, per reviewer guidance to give
  glossary terms a Chinese display form.
- whatsnew/3.14.po: fixed a role-directly-touching-full-width-paren RST
  escaping bug introduced by today's translation.
- reference/expressions.po: fixed a stray single-backtick (default-role)
  lint warning in a pre-existing code comment.

Co-authored-by: Claude <noreply@anthropic.com>
mattwang44 pushed a commit to mattwang44/python-docs-zh-tw that referenced this pull request Jul 31, 2026
Addresses review feedback on PR python#1239: several c-api/*.po translations
rendered the "steals a reference" idiom as plain-text 「竊取」 instead of
linking it to the glossary via :term:`竊取 <steal>`, and one entry had
stray spacing around the markup. Applies the same fix to every remaining
occurrence across c-api/bytes.po, dict.po, exceptions.po, gen.po,
list.po, module.po, sequence.po, tuple.po, and threads.po.

Co-authored-by: Claude <noreply@anthropic.com>
mattwang44 pushed a commit to mattwang44/python-docs-zh-tw that referenced this pull request Jul 31, 2026
CI builds with sphinx-build --fail-on-warning, so the 56 warnings from
the previous push were hard failures. Root cause: two escaping bugs
introduced across the large tkinter.po translation batch.

1. A role/literal close (`` ` `` or ``` `` ```) directly followed by a
   full-width ( with no `\ ` separator confuses docutils' inline markup
   boundary detection, which can silently swallow or merge adjacent
   role references in the same paragraph -- surfacing as Sphinx's
   i18n.inconsistent_references warnings (dropped or merged :class:/
   :meth:/:attr:/:term: references) in tkinter.po, tkinter.ttk.po,
   http.cookiejar.po, and c-api/unicode.po.

2. The same applies to *emphasis*( with no space/separator before the
   parenthesis, which docutils reports as "Inline emphasis start-string
   without end-string" since the closing `*` isn't followed by a
   recognized boundary character. Fixed by adding the space that's
   already the established convention elsewhere in this file.

Also fixes a review comment on PR python#1239: removes a stray literal space
that rendered as a visible gap between adjacent Chinese text and a
role's Chinese display text in c-api/dict.po.

Co-authored-by: Claude <noreply@anthropic.com>
mattwang44 pushed a commit to mattwang44/python-docs-zh-tw that referenced this pull request Jul 31, 2026
Rebased onto upstream's new sync commits (cpython 6337bfd4..37a5c690) and
translated the resulting new/fuzzy backlog: 96 entries across 22 files
(c-api/{exceptions,frame,perfmaps,typeobj,veryhigh}.po, library/{ast,
calendar,compression.zstd,concurrent.interpreters,difflib,filecmp,
functions,getopt,inspect,lzma,mimetypes,secrets,sys,uu}.po,
howto/logging-cookbook.po, using/windows.po, whatsnew/3.14.po).

Also addressed outstanding review feedback on PR python#1239:
- reference/expressions.po: reworded the generator-iterator/list-
  comprehension sentence per reviewer suggestion, and dropped unneeded
  backslash escaping before the Calls-section role reference.
- library/imaplib.po: dropped unneeded backslash escaping around the
  :rfc:`3501` reference.
- library/collections.abc.po: use :term:`可雜湊的 <hashable>` instead of
  the bare English :term:`hashable` role, per reviewer guidance to give
  glossary terms a Chinese display form.
- whatsnew/3.14.po: fixed a role-directly-touching-full-width-paren RST
  escaping bug introduced by today's translation.
- reference/expressions.po: fixed a stray single-backtick (default-role)
  lint warning in a pre-existing code comment.

Co-authored-by: Claude <noreply@anthropic.com>
mattwang44 pushed a commit to mattwang44/python-docs-zh-tw that referenced this pull request Aug 7, 2026
Addresses review feedback on PR python#1239: several c-api/*.po translations
rendered the "steals a reference" idiom as plain-text 「竊取」 instead of
linking it to the glossary via :term:`竊取 <steal>`, and one entry had
stray spacing around the markup. Applies the same fix to every remaining
occurrence across c-api/bytes.po, dict.po, exceptions.po, gen.po,
list.po, module.po, sequence.po, tuple.po, and threads.po.

Co-authored-by: Claude <noreply@anthropic.com>
mattwang44 pushed a commit to mattwang44/python-docs-zh-tw that referenced this pull request Aug 7, 2026
CI builds with sphinx-build --fail-on-warning, so the 56 warnings from
the previous push were hard failures. Root cause: two escaping bugs
introduced across the large tkinter.po translation batch.

1. A role/literal close (`` ` `` or ``` `` ```) directly followed by a
   full-width ( with no `\ ` separator confuses docutils' inline markup
   boundary detection, which can silently swallow or merge adjacent
   role references in the same paragraph -- surfacing as Sphinx's
   i18n.inconsistent_references warnings (dropped or merged :class:/
   :meth:/:attr:/:term: references) in tkinter.po, tkinter.ttk.po,
   http.cookiejar.po, and c-api/unicode.po.

2. The same applies to *emphasis*( with no space/separator before the
   parenthesis, which docutils reports as "Inline emphasis start-string
   without end-string" since the closing `*` isn't followed by a
   recognized boundary character. Fixed by adding the space that's
   already the established convention elsewhere in this file.

Also fixes a review comment on PR python#1239: removes a stray literal space
that rendered as a visible gap between adjacent Chinese text and a
role's Chinese display text in c-api/dict.po.

Co-authored-by: Claude <noreply@anthropic.com>
mattwang44 pushed a commit to mattwang44/python-docs-zh-tw that referenced this pull request Aug 7, 2026
Rebased onto upstream's new sync commits (cpython 6337bfd4..37a5c690) and
translated the resulting new/fuzzy backlog: 96 entries across 22 files
(c-api/{exceptions,frame,perfmaps,typeobj,veryhigh}.po, library/{ast,
calendar,compression.zstd,concurrent.interpreters,difflib,filecmp,
functions,getopt,inspect,lzma,mimetypes,secrets,sys,uu}.po,
howto/logging-cookbook.po, using/windows.po, whatsnew/3.14.po).

Also addressed outstanding review feedback on PR python#1239:
- reference/expressions.po: reworded the generator-iterator/list-
  comprehension sentence per reviewer suggestion, and dropped unneeded
  backslash escaping before the Calls-section role reference.
- library/imaplib.po: dropped unneeded backslash escaping around the
  :rfc:`3501` reference.
- library/collections.abc.po: use :term:`可雜湊的 <hashable>` instead of
  the bare English :term:`hashable` role, per reviewer guidance to give
  glossary terms a Chinese display form.
- whatsnew/3.14.po: fixed a role-directly-touching-full-width-paren RST
  escaping bug introduced by today's translation.
- reference/expressions.po: fixed a stray single-backtick (default-role)
  lint warning in a pre-existing code comment.

Co-authored-by: Claude <noreply@anthropic.com>
mattwang44 pushed a commit to mattwang44/python-docs-zh-tw that referenced this pull request Aug 14, 2026
Addresses review feedback on PR python#1239: several c-api/*.po translations
rendered the "steals a reference" idiom as plain-text 「竊取」 instead of
linking it to the glossary via :term:`竊取 <steal>`, and one entry had
stray spacing around the markup. Applies the same fix to every remaining
occurrence across c-api/bytes.po, dict.po, exceptions.po, gen.po,
list.po, module.po, sequence.po, tuple.po, and threads.po.

Co-authored-by: Claude <noreply@anthropic.com>
mattwang44 pushed a commit to mattwang44/python-docs-zh-tw that referenced this pull request Aug 14, 2026
CI builds with sphinx-build --fail-on-warning, so the 56 warnings from
the previous push were hard failures. Root cause: two escaping bugs
introduced across the large tkinter.po translation batch.

1. A role/literal close (`` ` `` or ``` `` ```) directly followed by a
   full-width ( with no `\ ` separator confuses docutils' inline markup
   boundary detection, which can silently swallow or merge adjacent
   role references in the same paragraph -- surfacing as Sphinx's
   i18n.inconsistent_references warnings (dropped or merged :class:/
   :meth:/:attr:/:term: references) in tkinter.po, tkinter.ttk.po,
   http.cookiejar.po, and c-api/unicode.po.

2. The same applies to *emphasis*( with no space/separator before the
   parenthesis, which docutils reports as "Inline emphasis start-string
   without end-string" since the closing `*` isn't followed by a
   recognized boundary character. Fixed by adding the space that's
   already the established convention elsewhere in this file.

Also fixes a review comment on PR python#1239: removes a stray literal space
that rendered as a visible gap between adjacent Chinese text and a
role's Chinese display text in c-api/dict.po.

Co-authored-by: Claude <noreply@anthropic.com>
mattwang44 pushed a commit to mattwang44/python-docs-zh-tw that referenced this pull request Aug 14, 2026
Rebased onto upstream's new sync commits (cpython 6337bfd4..37a5c690) and
translated the resulting new/fuzzy backlog: 96 entries across 22 files
(c-api/{exceptions,frame,perfmaps,typeobj,veryhigh}.po, library/{ast,
calendar,compression.zstd,concurrent.interpreters,difflib,filecmp,
functions,getopt,inspect,lzma,mimetypes,secrets,sys,uu}.po,
howto/logging-cookbook.po, using/windows.po, whatsnew/3.14.po).

Also addressed outstanding review feedback on PR python#1239:
- reference/expressions.po: reworded the generator-iterator/list-
  comprehension sentence per reviewer suggestion, and dropped unneeded
  backslash escaping before the Calls-section role reference.
- library/imaplib.po: dropped unneeded backslash escaping around the
  :rfc:`3501` reference.
- library/collections.abc.po: use :term:`可雜湊的 <hashable>` instead of
  the bare English :term:`hashable` role, per reviewer guidance to give
  glossary terms a Chinese display form.
- whatsnew/3.14.po: fixed a role-directly-touching-full-width-paren RST
  escaping bug introduced by today's translation.
- reference/expressions.po: fixed a stray single-backtick (default-role)
  lint warning in a pre-existing code comment.

Co-authored-by: Claude <noreply@anthropic.com>
mattwang44 pushed a commit to mattwang44/python-docs-zh-tw that referenced this pull request Oct 2, 2026
CI builds with sphinx-build --fail-on-warning, so the 56 warnings from
the previous push were hard failures. Root cause: two escaping bugs
introduced across the large tkinter.po translation batch.

1. A role/literal close (`` ` `` or ``` `` ```) directly followed by a
   full-width ( with no `\ ` separator confuses docutils' inline markup
   boundary detection, which can silently swallow or merge adjacent
   role references in the same paragraph -- surfacing as Sphinx's
   i18n.inconsistent_references warnings (dropped or merged :class:/
   :meth:/:attr:/:term: references) in tkinter.po, tkinter.ttk.po,
   http.cookiejar.po, and c-api/unicode.po.

2. The same applies to *emphasis*( with no space/separator before the
   parenthesis, which docutils reports as "Inline emphasis start-string
   without end-string" since the closing `*` isn't followed by a
   recognized boundary character. Fixed by adding the space that's
   already the established convention elsewhere in this file.

Also fixes a review comment on PR python#1239: removes a stray literal space
that rendered as a visible gap between adjacent Chinese text and a
role's Chinese display text in c-api/dict.po.

Co-authored-by: Claude <noreply@anthropic.com>
mattwang44 pushed a commit to mattwang44/python-docs-zh-tw that referenced this pull request Oct 2, 2026
Rebased onto upstream's new sync commits (cpython 6337bfd4..37a5c690) and
translated the resulting new/fuzzy backlog: 96 entries across 22 files
(c-api/{exceptions,frame,perfmaps,typeobj,veryhigh}.po, library/{ast,
calendar,compression.zstd,concurrent.interpreters,difflib,filecmp,
functions,getopt,inspect,lzma,mimetypes,secrets,sys,uu}.po,
howto/logging-cookbook.po, using/windows.po, whatsnew/3.14.po).

Also addressed outstanding review feedback on PR python#1239:
- reference/expressions.po: reworded the generator-iterator/list-
  comprehension sentence per reviewer suggestion, and dropped unneeded
  backslash escaping before the Calls-section role reference.
- library/imaplib.po: dropped unneeded backslash escaping around the
  :rfc:`3501` reference.
- library/collections.abc.po: use :term:`可雜湊的 <hashable>` instead of
  the bare English :term:`hashable` role, per reviewer guidance to give
  glossary terms a Chinese display form.
- whatsnew/3.14.po: fixed a role-directly-touching-full-width-paren RST
  escaping bug introduced by today's translation.
- reference/expressions.po: fixed a stray single-backtick (default-role)
  lint warning in a pre-existing code comment.

Co-authored-by: Claude <noreply@anthropic.com>
mattwang44 pushed a commit to mattwang44/python-docs-zh-tw that referenced this pull request Oct 2, 2026
Review feedback on PR python#1239: the \ before (:rfc:`1730`\ ) in
imaplib.po is unnecessary. A role close directly followed by a
full-width closing parenthesis is the established, safe convention
throughout the corpus (e.g. argparse.po, ast.po, asyncio-eventloop.po)
- the escaping bug documented in this project only applies to a role
close touching full-width OPENING punctuation, not closing.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CZEPgr3qdyFGBwSGGUrK5V
claude added 21 commits October 9, 2026 06:08
Resets to python/python-docs-zh-tw cron/sync/3.14 (cpython 44b4029a),
pulls in library/concurrent.futures.po's latest doc refresh, and
translates the accumulated backlog of new/fuzzy msgids versus the 3.14
branch: 1229 entries in library/tkinter.po (upstream doc rewrite),
library/tkinter.ttk.po, library/dataclasses.po, library/curses.po,
library/os.po, a brand-new library/asyncio-threading.po, and 43 other
files, for 1328 entries total across 49 files.

Co-authored-by: Claude <noreply@anthropic.com>
Rebases onto upstream cron/sync/3.14's new commit, which refreshed
library/http.cookiejar.po's reST role precision (e.g. bare :attr:/:meth:
names -> fully-qualified ~Class.member roles). Re-translates all 31
fuzzy entries this introduced.

Co-authored-by: Claude <noreply@anthropic.com>
Addresses review feedback on PR python#1239: several c-api/*.po translations
rendered the "steals a reference" idiom as plain-text 「竊取」 instead of
linking it to the glossary via :term:`竊取 <steal>`, and one entry had
stray spacing around the markup. Applies the same fix to every remaining
occurrence across c-api/bytes.po, dict.po, exceptions.po, gen.po,
list.po, module.po, sequence.po, tuple.po, and threads.po.

Co-authored-by: Claude <noreply@anthropic.com>
CI builds with sphinx-build --fail-on-warning, so the 56 warnings from
the previous push were hard failures. Root cause: two escaping bugs
introduced across the large tkinter.po translation batch.

1. A role/literal close (`` ` `` or ``` `` ```) directly followed by a
   full-width ( with no `\ ` separator confuses docutils' inline markup
   boundary detection, which can silently swallow or merge adjacent
   role references in the same paragraph -- surfacing as Sphinx's
   i18n.inconsistent_references warnings (dropped or merged :class:/
   :meth:/:attr:/:term: references) in tkinter.po, tkinter.ttk.po,
   http.cookiejar.po, and c-api/unicode.po.

2. The same applies to *emphasis*( with no space/separator before the
   parenthesis, which docutils reports as "Inline emphasis start-string
   without end-string" since the closing `*` isn't followed by a
   recognized boundary character. Fixed by adding the space that's
   already the established convention elsewhere in this file.

Also fixes a review comment on PR python#1239: removes a stray literal space
that rendered as a visible gap between adjacent Chinese text and a
role's Chinese display text in c-api/dict.po.

Co-authored-by: Claude <noreply@anthropic.com>
- c-api/exceptions.po: 向下相容 -> 向後相容 (review comment)
- c-api/threads.po: translate the :term:`attached thread state` role
  display text instead of leaving it bare in English (review comment)
- c-api/unicode.po: use \ instead of a literal space before a role
  whose translated display text is Chinese, avoiding a stray visible
  gap between adjacent Chinese words (review comment)
- library/tkinter.ttk.po: rewrap a sentence that referenced :class:`Label`
  twice where the English original references it once, which Sphinx's
  i18n.inconsistent_references check flags as a reference-count mismatch

Co-authored-by: Claude <noreply@anthropic.com>
Translates 91 new/fuzzy entries introduced by 5 new upstream sync commits
across 21 files (c-api: buffer, code, gen, intro, set, typeobj; library:
asyncio, asyncio-graph, asyncio-tools, ctypes, glob, http.server, imaplib,
mimetypes, os, re, string, tkinter, tkinter.font, urllib.parse; reference:
compound_stmts). Also resolves 5 merge-conflict hunks in tkinter.po from
rebasing prior fix commits onto the new upstream commits.

Clarifies CLAUDE.md's reST escaping guidance: the `\ ` zero-width separator
is only required before OPENING full-width punctuation ((「『) touching a
role/literal/emphasis close, not before closing/medial punctuation
(。,:;!?」』)), per corpus-wide grep evidence.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QP5Xz4JpfsP7ZsfFVprnxr
Covers 18 files, 116 entries translated or fixed:

- library/tkinter.po: 25 new + 13 fuzzy (geometry managers, widget
  variables, window manager, Entry index docs)
- c-api/descriptor.po: 19 new (PyGetSetDef/PyMemberDef/PyMethodDef/
  wrapper descriptor reference)
- library/tkinter.ttk.po: 13 new, plus a fix for a pre-existing
  msgid/msgstr misalignment found during review (rst:52 had carried
  another entry's translation)
- library/asyncio-eventloop.po: 7 new + 4 fuzzy (pipe objects,
  SelectorEventLoop/ProactorEventLoop address resolution)
- library/asyncio-platforms.po: 2 new
- library/asyncio-queue.po: 2 fuzzy (QueueShutDown)
- library/asyncio-task.po: 2 new
- howto/a-conceptual-overview-of-asyncio.po: 1 new
- library/tkinter.dnd.po: 9 fuzzy
- library/tkinter.messagebox.po: 1 fuzzy
- library/dialog.po: 1 new
- library/curses.panel.po: 1 fuzzy + 2 new
- library/stdtypes.po: 4 fuzzy
- library/struct.po: 2 fuzzy
- using/windows.po: 2 new
- library/urllib.request.po: 1 new
- whatsnew/3.10.po: 1 fuzzy
- whatsnew/2.4.po: 4 fuzzy (pre-existing untranslated backlog in this
  file otherwise left untouched)

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KycUFYt8cbUhW851YjELfw
Rebased onto upstream's new sync commits (cpython 6337bfd4..37a5c690) and
translated the resulting new/fuzzy backlog: 96 entries across 22 files
(c-api/{exceptions,frame,perfmaps,typeobj,veryhigh}.po, library/{ast,
calendar,compression.zstd,concurrent.interpreters,difflib,filecmp,
functions,getopt,inspect,lzma,mimetypes,secrets,sys,uu}.po,
howto/logging-cookbook.po, using/windows.po, whatsnew/3.14.po).

Also addressed outstanding review feedback on PR python#1239:
- reference/expressions.po: reworded the generator-iterator/list-
  comprehension sentence per reviewer suggestion, and dropped unneeded
  backslash escaping before the Calls-section role reference.
- library/imaplib.po: dropped unneeded backslash escaping around the
  :rfc:`3501` reference.
- library/collections.abc.po: use :term:`可雜湊的 <hashable>` instead of
  the bare English :term:`hashable` role, per reviewer guidance to give
  glossary terms a Chinese display form.
- whatsnew/3.14.po: fixed a role-directly-touching-full-width-paren RST
  escaping bug introduced by today's translation.
- reference/expressions.po: fixed a stray single-backtick (default-role)
  lint warning in a pre-existing code comment.

Co-authored-by: Claude <noreply@anthropic.com>
Rebased onto upstream/cron/sync/3.14 (6 new sync commits) and translated
the resulting new-or-fuzzy backlog: 39 entries across 10 files (32 new,
7 fuzzy resolved) in c-api/exceptions.po, c-api/init_config.po,
c-api/intro.po, library/asyncio-eventloop.po, library/difflib.po,
library/functions.po, library/tempfile.po, library/test.po, license.po,
and whatsnew/2.5.po. Excludes the large pre-existing untranslated
backlog in whatsnew/2.4.po, whatsnew/2.5.po, library/difflib.po, and
library/test.po that is unrelated to this sync.
Rebased onto upstream/cron/sync/3.14 (5 new sync commits) and translated
the resulting new-or-fuzzy backlog: 70 entries across 27 files (9 new, 61
fuzzy resolved). Nearly all fuzzy entries stem from upstream introducing
a new :deco: reST role for decorator references, replacing prior
:func:/:class:/:meth: roles -- updated the corresponding role in each
existing Chinese translation to match, verifying prose accuracy rather
than blind-replacing.

Files touched: c-api/frame.po, deprecations/index.po,
deprecations/pending-removal-in-3.15.po, faq/programming.po,
glossary.po, howto/{annotations,descriptor,sorting}.po, library/{abc,
asyncio-stream,bisect,collections,contextlib,csv,enum,functions,
functools,platform,tarfile}.po, reference/simple_stmts.po, sphinx.po,
whatsnew/{3.3,3.10,3.11,3.12,3.13,3.14}.po.

Also fixed along the way:
- whatsnew/3.11.po: wrong contributor name on the :deco:`typing.final`
  entry (was "Serhiy Storchaka", msgid credits "Jelle Zijlstra").
- whatsnew/3.3.po: typo "請改" -> "請改用" (missing 用) on the
  abc.abstractproperty deprecation entry.
- Several instances of the known RST-escaping bug (role/literal closing
  backtick directly touching full-width punctuation with no \ separator)
  in entries touched by this sync, across abc.po, functools.po,
  descriptor.po, and whatsnew/3.12.po.

Excludes the large pre-existing untranslated backlog unrelated to this
sync (e.g. whatsnew/2.4-2.7.po, os.po, ctypes.po, typing.po, and other
files where "new" msgids were just role-syntax churn on long-untranslated
entries, not genuinely new content).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DSmHq7nqqTrRwTigk6kNeh
…tion

The prior commit inserted \\  zero-width separators before full-width
punctuation on the assumption that *any* role/literal close touching
full-width punctuation needs escaping. CLAUDE.md's reST Syntax section
(established by a prior run's corpus analysis) is more precise: \\  is
only needed before *opening* punctuation ((「『); closing/medial marks
(。,:;!?」』)、) follow the dominant unescaped convention corpus-wide
(confirmed here: 1182 unescaped vs. 9 escaped instances of `、 alone).

Reverts the incorrect \\  insertions from the previous commit while
keeping the two that were correctly placed before opening full-width
parentheses.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DSmHq7nqqTrRwTigk6kNeh
Rebased cron/sync/3.14 onto 5 new upstream sync commits and translated
the resulting scope: 32 entries (11 fuzzy, 21 new-empty) across 16
files, after filtering out ~350 false positives from pre-existing
untranslated backlog (whatsnew/2.4-2.6) whose msgids merely shifted
due to unrelated upstream role-target reformatting.

Resolved one rebase conflict in library/curses.po (stale fuzzy tag on
an unchanged, already-translated entry).

Co-authored-by: Claude <noreply@anthropic.com>
Rebased onto 7 new upstream sync commits and translated all newly
introduced/fuzzy entries relative to origin/3.14: 389 entries across
50 files (whatsnew/2.4-2.6 dominate at 261 entries due to an upstream
reST role-syntax modernization pass on those older release notes).

Includes a cross-batch terminology consistency pass and a
native-speaker fluency editorial pass on all newly translated text.
Rebased onto upstream/cron/sync/3.14 (5 new sync commits) and
translated the resulting backlog: 22 new msgids and 3 fuzzy entries
across 5 files (library/curses.po, library/os.po, library/turtle.po,
glossary.po, library/tempfile.po).
Rebased cron/sync/3.14 onto upstream (7 new sync commits), then
translated every new-or-fuzzy msgid relative to origin/3.14: 336 new
entries and 28 fuzzy entries across 27 files, including the new
library/time-complexity.po page (120 entries) and the XML DOM/SAX
family (library/xml.dom.po, xml.dom.minidom.po, xml.dom.pulldom.po,
xml.etree.elementtree.po, xml.sax*.po).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ErrfGR94u9Jau7pF3GMdJa
Rebased origin/cron/sync/3.14 onto 3 new upstream sync commits (ad3a8af,
faf5289, fb2def7) and translated the resulting 22 new + 23 fuzzy entries
across 21 files. Most entries stem from upstream wrapping "exhausted" in
a new :term: glossary role; translated using the established
:term:`耗盡 <exhausted>` pattern and added the "exhausted" glossary
entry itself. Also fixed a pre-existing msgfmt fatal error in
tutorial/controlflow.po (msgid/msgstr trailing-newline mismatch) and
a stale URL in library/colorsys.po surfaced by the sync.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Gwj9KkA5VXQdYcydLcgbh3
Upstream split several library/*.po files (constants, exceptions,
functions, stdtypes, threadsafety, time-complexity, index) into a new
builtins/ directory as duplicate untranslated POT files. Ported the
existing translations across by matching msgid text (971+521+202+22+
120+6 entries), rather than re-translating from scratch or leaving
them blank; the pre-existing large untranslated backlog in stdtypes/
threadsafety was correctly left out of scope in both locations.

Translated ~65 new/fuzzy entries introduced by the latest upstream
sync across 20 files (library/warnings, importlib, xml.etree.
elementtree, socket, codecs, json, asyncio-task, multiprocessing,
sys.monitoring; builtins/index, exceptions; reference/index; tutorial/
index, whatnow; extending/index; sphinx.po; whatsnew/3.14; c-api/
bytes, bytearray), including several cross-reference updates tied to
the new builtins-index split (library/index, intro).

Also did a native-fluency pass over faq/library.po's 51 pre-existing
fuzzy entries, most originally zh_CN machine-translated: converted
zh_CN terminology (运行/示例/内置/队列/调度/鼠标/etc.), fixed a broken
:meth: cross-reference (socket.connect -> ~socket.socket.connect), a
malformed :term: role for "global interpreter lock", mismatched/
missing backticks, a stray space breaking a URL, a duplicated-
character typo, a leaked simplified character, stray zero-width
spaces, and missing/incomplete sentences (GIL history section).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019iE4WSHg1R7JwuTCqpn2ae
Rebased origin/cron/sync/3.14 onto the latest upstream/cron/sync/3.14
(6 new "sync with cpython" commits), preserving prior fix commits;
resolved two non-semantic line-number/fuzzy rebase conflicts in
library/turtle.po and a real content conflict in library/json.po
(upstream re-flowed one entry earlier in the file with an incomplete
msgstr while our branch already had the full translation - merged the
complete translation onto the current entry and dropped the duplicate).

Translated 35 new and 9 fuzzy entries introduced by the new upstream
commits, across howto/remote_debugging (16 new/2 fuzzy, the ptrace/
macOS entitlement permission-requirements sections), library/turtle
(14 new/1 fuzzy, intro and Exceptions section - also fixed one fuzzy
entry left with a stale "解釋" msgstr from an unrelated match),
library/pathlib (4 fuzzy), library/code (1 fuzzy), and one new entry
each in builtins/functions, library/ctypes, library/ipaddress,
library/statistics, and reference/datamodel. Left the large
builtins/stdtypes.po (612) and builtins/threadsafety.po (116)
"new" counts untouched - they are the pre-existing untranslated
backlog carried over by the prior builtins/ reorg-porting commit, not
today's sync, matching that commit's own stated scope.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CZEPgr3qdyFGBwSGGUrK5V
Review feedback on PR python#1239: the \ before (:rfc:`1730`\ ) in
imaplib.po is unnecessary. A role close directly followed by a
full-width closing parenthesis is the established, safe convention
throughout the corpus (e.g. argparse.po, ast.po, asyncio-eventloop.po)
- the escaping bug documented in this project only applies to a role
close touching full-width OPENING punctuation, not closing.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CZEPgr3qdyFGBwSGGUrK5V
After rebasing onto upstream/cron/sync/3.14, re-translated the 57
new/fuzzy entries across 12 files (turtle, uuid, ssl, optparse,
threadsafety, slice, etc.). turtle.po was re-based on upstream's
restructured version since earlier translations no longer applied.
Also clarified the `\\ ` escaping rule in CLAUDE.md.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LFYa52QAiGWbzJf8uwaj1Y
3 entries in 2 files (c-api/exceptions.po, using/configure.po).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014wfHbHWCozuNEmjemgnrVd
@mattwang44 mattwang44 closed this Oct 15, 2026
mattwang44 added a commit that referenced this pull request Oct 15, 2026
Address every entry flagged by at least one of three independent
reviewers in the files this sync touches:

- mistranslations and omissions (library/intro, bisect, functools,
  itertools "if at all", weakref "remaining", wrong contributor name in
  whatsnew/3.11)
- broken markup: single instead of double backticks in http.cookiejar
- terminology: unify :term:`exhausted` as 耗盡 and translate its glossary
  entry; modal -> 強制回應; class -> 類別; documentation -> 說明文件;
  replace Mainland terms (設置, 鏈接, 實現, 交互模式, 鍊表, 運行, ...)
- punctuation: half-width brackets and quotes in Chinese text, stray
  spaces around full-width punctuation, unnecessary or missing escapes

Also adopt the better wording from the earlier attempt in #1239 where it
is more accurate or more natural (e.g. atexit "signal not handled by
Python", numbers, tuple "already in the tuple", tkinter Variable and
index docs), drop the stray trailing newline in tutorial/controlflow
that made msgfmt fail, and write :term: roles in glossary entries
touched by this sync as :term:`中文 <term>` as requested in #1239.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
mattwang44 added a commit that referenced this pull request Oct 15, 2026
Address every entry flagged by at least one of three independent
reviewers in the files this sync touches:

- mistranslations and omissions (library/intro, bisect, functools,
  itertools "if at all", weakref "remaining", wrong contributor name in
  whatsnew/3.11)
- broken markup: single instead of double backticks in http.cookiejar
- terminology: unify :term:`exhausted` as 耗盡 and translate its glossary
  entry; modal -> 強制回應; class -> 類別; documentation -> 說明文件;
  replace Mainland terms (設置, 鏈接, 實現, 交互模式, 鍊表, 運行, ...)
- punctuation: half-width brackets and quotes in Chinese text, stray
  spaces around full-width punctuation, unnecessary or missing escapes

Also adopt the better wording from the earlier attempt in #1239 where it
is more accurate or more natural (e.g. atexit "signal not handled by
Python", numbers, tuple "already in the tuple", tkinter Variable and
index docs), drop the stray trailing newline in tutorial/controlflow
that made msgfmt fail, and write :term: roles in glossary entries
touched by this sync as :term:`中文 <term>` as requested in #1239.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
mattwang44 added a commit that referenced this pull request Oct 15, 2026
* sync with cpython 575916d5

* sync with cpython 157a5df8

* sync with cpython a8003f6d

* sync with cpython 51e83ca7

* sync with cpython b3a7758d

* sync with cpython c737fb31

* Translate fuzzy entries from upstream sync (#1237)

* Translate fuzzy entries from upstream sync

* Apply suggestions from code review

Co-authored-by: W. H. Wang <mattwang44@gmail.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>

* sync with cpython 945a1ac7

* sync with cpython aa485557

* sync with cpython 60132db9

* sync with cpython 72023139

* sync with cpython 2e873f7b

* sync with cpython 4330f467

* Translate fuzzy entries from upstream sync (#1238)

Claude-Session: https://claude.ai/code/session_01REgcaNJVQfFfzdUJUypcPq

Co-authored-by: Claude <noreply@anthropic.com>

* sync with cpython b078ae98

* sync with cpython 912a68b6

* sync with cpython 33b5aebf

* sync with cpython 6e61e3c1

* sync with cpython af3c9128

* sync with cpython 84badb77

* sync with cpython 5a09ae28

* sync with cpython 67d4cbf1

* sync with cpython 68b501db

* sync with cpython 8a2e34c9

* sync with cpython 44b4029a

* sync with cpython 07efb081

* sync with cpython c6f5a737

* sync with cpython ef862d61

* sync with cpython 3d802b5b

* sync with cpython 0f529b1c

* sync with cpython 7a7da86d

* sync with cpython 467fab9e

* sync with cpython b587c54b

* sync with cpython bb29dc2e

* sync with cpython c628cd70

* sync with cpython a3d61936

* sync with cpython 9b33b258

* sync with cpython 6337bfd4

* sync with cpython 8b5f1c24

* sync with cpython b2e8bd6c

* sync with cpython 37a5c690

* sync with cpython a73668a2

* sync with cpython 92b0ec64

* sync with cpython 89be6f77

* sync with cpython 04735dee

* sync with cpython 71dfe72b

* sync with cpython 91abbe6f

* sync with cpython 802a2c8b

* sync with cpython b0ef8b4f

* sync with cpython 709041c3

* sync with cpython 162bd7ea

* sync with cpython 085fd75c

* sync with cpython 4683ac19

* sync with cpython 1b1c61a9

* sync with cpython c611e80a

* sync with cpython d755701b

* sync with cpython 4e9ec0a0

* sync with cpython 7101666e

* sync with cpython 422e6793

* sync with cpython b104b74e

* sync with cpython a59c5bb0

* sync with cpython 90a1f02b

* sync with cpython 5a7c9d25

* sync with cpython 27349e70

* sync with cpython d3fe3de5

* sync with cpython 27721ddc

* sync with cpython f6b1201e

* sync with cpython 7267c9b8

* sync with cpython f9fdb30d

* sync with cpython 28b944cc

* sync with cpython 948f962f

* sync with cpython 686b543e

* sync with cpython 4e8bce4d

* sync with cpython f6842dda

* sync with cpython 54717b65

* sync with cpython 92cab347

* sync with cpython 384ac4dd

* sync with cpython a6d25db9

* sync with cpython 5400055d

* sync with cpython 81299120

* sync with cpython cb81ae43

* sync with cpython 09c867d3

* sync with cpython d6375c3d

* sync with cpython 8f8cf4f1

* sync with cpython 1145c056

* sync with cpython 9227dfbb

* sync with cpython e700dbda

* sync with cpython 1d8c9f85

* sync with cpython 78bdd3dd

* sync with cpython 82075394

* sync with cpython 66f8dbe0

* sync with cpython c2d1138c

* sync with cpython 2bcad2fb

* sync with cpython 81c40fa1

* sync with cpython e47e1015

* sync with cpython 66df30d1

* sync with cpython 3c6de410

* sync with cpython e0c28e2a

* sync with cpython d9dde70e

* sync with cpython 758278c2

* sync with cpython 3ef92a27

* sync with cpython 69092874

* sync with cpython dacf4726

* Port translations for docs moved from library/ to builtins/

CPython gh-156682 (3.14 backport GH-157441) moved constants, exceptions,
functions, stdtypes, threadsafety and time-complexity from Doc/library/
to Doc/builtins/ without content changes. The sync workflow only created
empty builtins/*.po and left the old library/*.po orphaned.

Merge the existing translations into builtins/*.po with translate-toolkit
pomerge (--mergecomments=no --mergefuzzy=no --mergeblanks=no), keep the
original translator header comments, and remove the orphaned library/*.po.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Fill code-only and markup-only entries from upstream sync

For msgids newly introduced or turned fuzzy by this sync that need no or
almost no translation:

- msgids that are only inline markup (roles, literals, math, footnote
  refs): copy msgid to msgstr
- literal blocks (doctest, ::, code-block) without comments, and license
  texts: copy msgid to msgstr
- literal blocks with a few comments: copy the code and translate only
  the comments, reusing existing comment translations where available

Fuzzy flags on these entries are cleared. Edits are limited to the target
entries; the rest of each file is byte-for-byte unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Resolve trivially fixable fuzzy entries from upstream sync

Fuzzy entries that need no real translation judgement:

- msgid changed only in reST markup, e.g. :func: -> :deco: for
  decorators, :const:`None` -> ``None``, fully qualified role targets,
  renamed parameters (*secs* -> *seconds*): port the same token change
  into the msgstr. Applied only when every msgid difference is a markup
  token or whitespace and each token occurs verbatim in the msgstr.
- pure deletions (e.g. dropped "soft deprecated", removed sentences):
  delete the corresponding part of the msgstr.
- small wording changes (e.g. eg. -> for example, category -> class,
  exhausted -> :term:`exhausted`, updated URLs, added "See :pep:`525`."):
  keep or minimally adjust the msgstr.
- msgmerge matched the wrong old entry for a short, formulaic msgid
  (headings, "a string or None", "This is an alias to ..."): retranslate.

Entries with substantive prose changes are left fuzzy for human review.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Translate remaining fuzzy entries from upstream sync

Resolve every fuzzy entry introduced by this sync whose msgid had a
substantive change: update the existing translation to the new source
text (added or removed sentences, reworded clauses, new :term: and :ref:
links), or retranslate where msgmerge had matched an unrelated old entry.

reference/grammar.po only gained code lines (invalid_noteq), which are
inserted into the existing translation unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Fix translation issues found in review

Address every entry flagged by at least one of three independent
reviewers in the files this sync touches:

- mistranslations and omissions (library/intro, bisect, functools,
  itertools "if at all", weakref "remaining", wrong contributor name in
  whatsnew/3.11)
- broken markup: single instead of double backticks in http.cookiejar
- terminology: unify :term:`exhausted` as 耗盡 and translate its glossary
  entry; modal -> 強制回應; class -> 類別; documentation -> 說明文件;
  replace Mainland terms (設置, 鏈接, 實現, 交互模式, 鍊表, 運行, ...)
- punctuation: half-width brackets and quotes in Chinese text, stray
  spaces around full-width punctuation, unnecessary or missing escapes

Also adopt the better wording from the earlier attempt in #1239 where it
is more accurate or more natural (e.g. atexit "signal not handled by
Python", numbers, tuple "already in the tuple", tkinter Variable and
index docs), drop the stray trailing newline in tutorial/controlflow
that made msgfmt fail, and write :term: roles in glossary entries
touched by this sync as :term:`中文 <term>` as requested in #1239.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: W. H. Wang <mattwang44@gmail.com>
Co-authored-by: Claude <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants