Repository navigation
Sync with CPython 3.14 - #1231
Merged
Merged
Conversation
Contributor
|
* 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>
Claude-Session: https://claude.ai/code/session_01REgcaNJVQfFfzdUJUypcPq Co-authored-by: Claude <noreply@anthropic.com>
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>
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>
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>
mattwang44
force-pushed
the
cron/sync/3.14
branch
from
October 15, 2026 04:11
42a064b to
a76e6e8
Compare
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>
mattwang44
force-pushed
the
cron/sync/3.14
branch
from
October 15, 2026 06:01
e1eaa21 to
615fce1
Compare
mattwang44
marked this pull request as ready for review
October 15, 2026 06:25
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
force-pushed
the
cron/sync/3.14
branch
from
October 15, 2026 06:29
615fce1 to
a0c1ed4
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Sync with CPython 3.14