Skip to content

i18n: AI translations — ar, as, bn, cs, de, es, fr, hi, hr, id, it, ja, ko, pl, pt, ro, ru, sc, te, tl, tr, uk, zh (2026-09-02) - #77

Merged
github-actions[bot] merged 2 commits into
mainfrom
i18n/ai-batch-20260902
Sep 2, 2026
Merged

github-actions[bot] merged 2 commits into
mainfrom
i18n/ai-batch-20260902

Conversation

@openlibrary-bot

Copy link
Copy Markdown
Collaborator

Languages

  • Arabic (ar)
  • Assamese (as)
  • Bengali (bn)
  • Czech (cs)
  • German (de)
  • Spanish (es)
  • French (fr)
  • Hindi (hi)
  • Croatian (hr)
  • Indonesian (id)
  • Italian (it)
  • Japanese (ja)
  • Korean (ko)
  • Polish (pl)
  • Portuguese (pt)
  • Romanian (ro)
  • Russian (ru)
  • Sardinian (sc)
  • Telugu (te)
  • Tagalog (tl)
  • Turkish (tr)
  • Ukrainian (uk)
  • Chinese (zh)

Summary

AI-translated untranslated strings. Format strings, HTML attributes, and proper nouns
preserved verbatim. Fuzzy entries skipped.

Review guidance

  • Format strings (%(name)s, %s, {page}) must match the English source exactly
  • HTML tag structure must be identical to the English source
  • If any translation looks wrong, open an issue — we can retranslate

AI attribution

Translations generated by AI translation API.

@openlibrary-bot

Copy link
Copy Markdown
Collaborator Author

Deviation note — branch creation

At session start, git status on main already showed uncommitted modifications to messages.pot and all 23 locale files in this batch (HEAD matched origin/main exactly, so these weren't leftover from a prior branch). This looks like the result of an extract/sync step that ran before this agent was invoked, but was never committed.

Per instructions, .po files are "already synced" and I should not run pull/sync myself — so I treated this pre-existing working tree diff as the synced baseline, branched from it (i18n/ai-batch-20260902 off origin/main), and committed it as a first commit ("i18n: sync messages.pot and locale files with latest source strings") instead of the documented empty commit, since the branch already had real diff from origin/main at creation time.

Flagging in case this indicates a workflow step (extract/update) is running but not committing its output before handing off to the translation agent.

…k,zh): batch 1 — AI translations (claude-sonnet-5)
@openlibrary-bot

Copy link
Copy Markdown
Collaborator Author

Run audit — ar, as, bn, cs, de, es, fr, hi, hr, id, it, ja, ko, pl, pt, ro, ru, sc, te, tl, tr, uk, zh — 2026-09-02

Stats

Every language in this batch had the same small set of newly-added source strings (5–6 entries, all related to TestingEnvironment.html.jinja deploy-status messages plus one admin/spamwords.html string).

Lang Translated Skipped Cleared by fix validate test
ar 5 1 0 OK 2641 passed
as 5 1 0 OK 790 passed
bn 5 1 0 OK 120 passed
cs 5 1 0 OK 138 passed
de 5 1 0 OK 491 passed
es 5 0 0 OK 2641 passed
fr 5 1 0 OK 337 passed
hi 5 1 0 OK 736 passed
hr 5 0 0 OK 1440 passed
id 5 1 0 OK 313 passed
it 5 1 0 OK 1062 passed
ja 5 1 0 OK 159 passed
ko 5 0 0 OK 113 passed
pl 5 1 0 OK 761 passed
pt 5 1 0 OK 234 passed
ro 5 1 0 OK 1112 passed
ru 5 1 0 OK 168 passed
sc 5 0 0 OK 211 passed
te 5 1 0 OK 2641 passed
tl 5 0 0 OK 595 passed
tr 5 1 0 OK 2641 passed
uk 5 1 0 OK 120 passed
zh 5 1 0 OK 118 passed

The 5 translated strings per language are the %(user)s-suffixed variants of TestingEnvironment.html.jinja's deploy-status messages (Deploying, started %(time)s by %(user)s, its — %(stage)s variant, Deploy succeeded, Deploy failed, Last deploy). I cross-referenced each language's existing translation of the non-by %(user)s counterpart string already in the file so phrasing/register stayed consistent (e.g. de → "von %(user)s", fr → "par %(user)s", ja/ko/zh → parenthetical (%(user)s) since inserting an agent clause mid-sentence would have required reordering around the existing %(time)s placeholder).

Skipped entries

1 entry skipped in every language except es, hr, ko, sc, tl (which don't have it in their untranslated set): the admin/spamwords.html string "For example, if you want to prevent edits containing the domain <code>t.co</code>, add <code>(\x08|https://|http://)t\.co</code> to the spamwords list." — contains a literal \x08 backspace control character (source .pot bug; it should be the regex \b but got corrupted to an actual backspace byte). Per instructions, left msgstr empty. Not filed as a new issue — already tracked as #21.

Issues encountered

None blocking. No format errors were cleared by ./i18n fix for any language (all 0 in the table above).

Commands that failed

None.

Improvisations / deviations from instructions

  • Branch was not zero-diff at creation. At session start, main (== origin/main, verified via git rev-parse) already had uncommitted modifications to messages.pot and all 23 batch locale files — an apparent extract/sync step had run before this agent was invoked but its output was never committed. Since instructions say the .po files are "already synced" and not to run pull/sync myself, I branched from this working-tree state (i18n/ai-batch-20260902) and committed it as a first commit ("i18n: sync messages.pot and locale files with latest source strings") instead of the documented empty commit, since the branch already had real diff from origin/main. Posted as a separate comment on this PR immediately when it happened.
  • The sync commit's line-wrap formatting was partially undone by ./i18n fix/compile. The ambient sync diff had rewrapped some #: location comments and long msgid/msgstr lines to a narrower width; running this batch's apply/fix/compile on top reformatted those same lines back to the wider, single-line style the ./i18n toolbox normally produces. Net effect: per-language commits in this PR contain some cosmetic rewrap-reversion alongside the real new translations. This is the same phenomenon already documented in Checkout starts with uncommitted reformatting diff across messages.pot and all locale .po files #44 (Babel version/config mismatch between whatever produced the checked-in files and the Actions environment's Babel 2.18.0) — this run is corroborating evidence, no new issue filed.

Suggested workflow improvements

@openlibrary-bot
openlibrary-bot marked this pull request as ready for review September 2, 2026 23:31
@github-actions
github-actions Bot merged commit 01c12b7 into main Sep 2, 2026
1 check passed
@github-actions
github-actions Bot deleted the i18n/ai-batch-20260902 branch September 2, 2026 23:31
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.

1 participant