Skip to content

i18n: translation pipeline (all languages)#18285

Merged
wackerow merged 27 commits into
devfrom
intl/pending-dev
May 27, 2026
Merged

i18n: translation pipeline (all languages)#18285
wackerow merged 27 commits into
devfrom
intl/pending-dev

Conversation

@wackerow
Copy link
Copy Markdown
Member

Automated Translations

This PR contains translations managed by the intl pipeline.
Each run appends a summary below.


Run: 2026-05-26 17:13:04 UTC

  • Languages: ar, bn, cs, de, es, fr, hi, id, it, ja, ko, mr, pl, pt-br, ru, sw, ta, te, tr, uk, ur, vi, zh-tw, zh
  • Files: 141 (0 MD, 141 JSON)
  • Mode: auto
  • View workflow run

3 task(s) failed:

  • src/intl/en/page-developers-tools-descriptions.json (it): Output validation failed after 3 attempts: Key count mismatch: got 99, expected 100
  • src/intl/en/page-developers-tools-descriptions.json (bn): Output validation failed after 3 attempts: Key count mismatch: got 99, expected 100
  • src/intl/en/page-developers-tools-descriptions.json (sw): This operation was aborted

Rerun the failed combinations:

gh workflow run "Intl Pipeline" -f target_path="src/intl/en/page-developers-tools-descriptions.json" -f target_languages="it"
gh workflow run "Intl Pipeline" -f target_path="src/intl/en/page-developers-tools-descriptions.json" -f target_languages="bn"
gh workflow run "Intl Pipeline" -f target_path="src/intl/en/page-developers-tools-descriptions.json" -f target_languages="sw"

wackerow and others added 26 commits May 26, 2026 19:12
Co-Authored-By: Gemini <gemini@google.com>
Co-Authored-By: Gemini <gemini@google.com>
Co-Authored-By: Gemini <gemini@google.com>
Co-Authored-By: Gemini <gemini@google.com>
Co-Authored-By: Gemini <gemini@google.com>
Co-Authored-By: Gemini <gemini@google.com>
Co-Authored-By: Gemini <gemini@google.com>
Co-Authored-By: Gemini <gemini@google.com>
Co-Authored-By: Gemini <gemini@google.com>
Co-Authored-By: Gemini <gemini@google.com>
Co-Authored-By: Gemini <gemini@google.com>
Co-Authored-By: Gemini <gemini@google.com>
Co-Authored-By: Gemini <gemini@google.com>
Co-Authored-By: Gemini <gemini@google.com>
Co-Authored-By: Gemini <gemini@google.com>
Co-Authored-By: Gemini <gemini@google.com>
Co-Authored-By: Gemini <gemini@google.com>
Co-Authored-By: Gemini <gemini@google.com>
Co-Authored-By: Gemini <gemini@google.com>
Co-Authored-By: Gemini <gemini@google.com>
Co-Authored-By: Gemini <gemini@google.com>
Co-Authored-By: Gemini <gemini@google.com>
Co-Authored-By: Gemini <gemini@google.com>
Co-Authored-By: Gemini <gemini@google.com>
@wackerow wackerow requested a review from pettinarip as a code owner May 26, 2026 17:13
@netlify
Copy link
Copy Markdown

netlify Bot commented May 26, 2026

Deploy Preview for ethereumorg ready!

Name Link
🔨 Latest commit df7a5f9
🔍 Latest deploy log https://app.netlify.com/projects/ethereumorg/deploys/6a16912447ee530008703c22
😎 Deploy Preview https://deploy-preview-18285.ethereum.it
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
Lighthouse
Lighthouse
7 paths audited
Performance: 66 (🟢 up 1 from production)
Accessibility: 96 (no change from production)
Best Practices: 100 (no change from production)
SEO: 98 (🔴 down 1 from production)
PWA: 59 (no change from production)
View the detailed breakdown and full score reports

To edit notification comments on pull requests, go to your Netlify project configuration.

@github-actions github-actions Bot added the translation 🌍 This is related to our Translation Program label May 26, 2026
@github-actions
Copy link
Copy Markdown
Contributor

🌐 Translation review started. View progress

Copy link
Copy Markdown
Contributor

@claude claude Bot left a comment

Choose a reason for hiding this comment

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

Translation Quality Review

PR: #18285

Branch HEAD: d43a9aacae

Languages: ar, bn, cs, de, es, fr, hi, id, it, ja, ko, mr, pl, pt-br, ru, sw, ta, te, tr, uk, ur, vi, zh, zh-tw (24 total)

Files reviewed: 141 JSON UI string files across the 6 changed pages (page-apps, page-developers-tools, page-developers-tools-descriptions, page-founders, page-resources, page-trillion-dollar-security)

Date: 2026-05-26

Fixes: No fixes applied (review-only)

Summary by Language

Language Files Critical Warnings Quality Score
it 5 0 8 9.6/10
pt-br 6 0 6 9.6/10
id 6 0 8 9.2/10
sw 5 0 8 9.0/10
tr 6 0 6 9.0/10
vi 6 0 8 9.0/10
de 6 0 8 8.8/10
fr 6 1 10 8.8/10
pl 6 3 7 8.8/10
ru 6 0 8 8.8/10
es 6 0 10 8.6/10
mr 6 0 8 8.6/10
ur 6 0 11 8.6/10
bn 5 0 10 8.4/10
ja 6 1 7 8.4/10
uk 6 0 16 8.4/10
cs 6 4 10 8.2/10
ko 6 9 10 8.2/10
te 6 0 8 8.2/10
hi 6 1 10 7.8/10
ar 6 1 10 7.6/10
zh 6 4 8 7.6/10
zh-tw 6 7 6 7.4/10
ta 6 13 12 6.0/10
Total / Avg 141 44 ~213 ~8.5/10

Critical Issues Highlights (must-fix before merge)

Brand-name transliteration violations (multi-language). Several languages transliterate brand names that should remain Latin per ETHGlossary script_rule: keep_latin or project convention:

  • ko: Optimism옵티미즘 (~20+ tool descriptions), Arbitrum아비트럼, Polygon폴리곤, Unichain유니체인, Uniswap유니스왑 (page-founders.json, page-trillion-dollar-security.json, many tool descriptions).
  • zh: Uniswap尤尼斯瓦普 in page-trillion-dollar-security-section-1-3-paragraph-1.
  • zh-tw: Uniswap尤尼斯瓦普 in same key.
  • ta: Arbitrumஆர்பிட்ரம், Polygonபாலிகன், Uniswapயூனிஸ்வாப் (page-founders, trillion-dollar-security).
  • ja: Arbitrumアービトラム, Polygonポリゴン in page-founders.json.

Semantic mistranslations (must-fix):

  • arpage-resources-eth-asset-ultrasound-description: "Ultra sound money" rendered as المال فائق Solidity — the word "sound" was replaced by the brand name "Solidity". Catastrophic model hallucination.
  • frpage-trillion-dollar-security-section-2-1-list-title-8: EOA expanded as compte détenu par un tiers ("account held by a third party") — inverts the meaning (EOA = Externally Owned Account = user-controlled).
  • zhtool-openrpc-description: "For over six years" mistranslated as 六个多月 (six months).
  • zhtool-ethereum-attestation-service-eas-description: 1M attestations and 14k attesters are swapped (subject/object inversion).
  • zh-tw — Six instances in page-developers-tools-descriptions.json translate rollup as 卷積 (math "convolution"). Should be 匯總 or kept Latin.
  • tapage-trillion-dollar-security: token/tokens rendered as வில்லை/வில்லைகள் ("card/leaf") in several keys; standard term is டோக்கன்.
  • jatool-the-ethernaut-description: cross-script Traditional-Chinese used instead of Japanese plus a stray space.
  • ta — three competing Tamil spellings of "Ethereum" coexist: எத்திரியம் (glossary-correct, dominant), எத்தேரியம் (4+ occurrences), எத்தீரியம் (2 occurrences in trillion-dollar-security).

ETHGlossary deviations:

  • csslashing rendered as osekání ("cutting/pruning") instead of glossary penalizace (4+ occurrences). gas rendered as plyn/plynu instead of glossary gas across many tool descriptions, one tag (gas-optimizationOptimalizace plynu), and page-resources-gas-blocknative-description (poplatků za plyn).
  • plattestation rendered as atestacja throughout page-trillion-dollar-security, page-resources, and tool descriptions, while ETHGlossary mandates poświadczenie.
  • hipage-developers-tools-tag-json-rpc rendered as जेसन-आरपीसी. Tickers/standards (JSON-RPC, ERC-721, EIP) must stay Latin.
  • tapage-developers-tools-tag-json-rpc similarly transliterated as ஜேசன்-ஆர்பிசி.

Notes & Recommendations

  1. Recurring pattern: brand-name transliteration in page-founders.json. Multiple non-Latin-script languages (ko, ja, ta, ur, hi, mr, te) transliterate ecosystem brand names (Arbitrum, Polygon, Unichain) while keeping peer brands (Base, Optimism) Latin. Recommend a project-wide call on whether the brand-tag policy for ecosystem names should be uniform Latin or uniform transliteration per language script.
  2. Recurring pattern: tag distinction respected. Across nearly all languages the brand-name-tag vs concept-tag distinction in page-developers-tools-tag-* keys is correctly applied — concept tags translated (security/testing/governance/encryption), brand-name tags kept Latin or transliterated per glossary.
  3. JSON-RPC tag transliterated (hi, ta) — should remain Latin per the tickers/standards rule.
  4. English-source artifacts faithfully mirrored. Multiple agents flagged that page-resources-mev-mevboost-description carries an incorrect English source (stablecoinswtf description duplicated under MEV-Boost) and tool-rust-libp2p-description ends mid-sentence in English. Upstream English bugs, not translation defects.
  5. Auto-fix not applied — this CI workflow does not commit fixes to the PR branch.

Detailed per-language score breakdowns (5-category rubric) are posted as follow-up comments on this PR.


To apply fixes, run locally:

/review-translations --pr=18285 --fix

The slash command applies fixes for brand-name transliterations, glossary deviations, JSON-RPC/ticker reversions, and semantic inversions (where the expected target is unambiguous), then stages the changes for commit.


Reviewed by Claude Code (24 parallel language agents, ETHGlossary-anchored)

@claude
Copy link
Copy Markdown
Contributor

claude Bot commented May 26, 2026

Per-Language Detailed Quality Scores — Part 1/4: ar, bn, cs, de, es, fr

(Follow-up to PR Review #4366085215.)

ar — 7.6/10 (1 critical, ~10 warnings)
Category Score Notes
Brand Name Preservation 7/10 Solidity/Hardhat/Foundry/React/JSON-RPC preserved. MetaMask/OpenZeppelin/Uniswap kept Latin instead of glossary-mandated transliteration. One catastrophic case: "Solidity" inserted in place of "sound".
Technical Accuracy 8/10 Validator/miner/staking/mainnet/L1/L2 not swapped. EVM, ERC-20, ERC-721, EIP, JSON-RPC, MEV, MCP preserved.
Semantic Fidelity 7/10 One critical break in ultrasound-description (brand name replaced a content word).
Terminology Consistency 7/10 Internally consistent for staking/validators/consensus. Inconsistent MetaMask/OpenZeppelin/Uniswap.
Tone/Register 9/10 Formal MSA, appropriate. RTL markers properly applied.

Formal MSA, consistent technical terminology; one critical "Solidity for sound" hallucination requires fix.

bn — 8.4/10 (0 critical, ~10 warnings)
Category Score Notes
Brand Name Preservation 8/10 Glossary brand rules (Solidity, Hardhat, Web3, Etherscan, Uniswap, MetaMask, OpenZeppelin) correctly handled. Inconsistent on Base/Kernel/Unichain/Alliance vs Arbitrum/Polygon (transliterated).
Technical Accuracy 9/10 All Ethereum technical terms correct; staking/validator/mainnet/rollup/MEV/EIP preserved. Spurious annotations added not in source.
Semantic Fidelity 9/10 Faithful prose.
Terminology Consistency 7/10 কনসেনসাস/ঐক্যমত for consensus mixed (both glossary-valid). লেয়ার ২ vs লেয়ার 2 numeral inconsistency.
Tone/Register 9/10 Formal, natural Bengali flow.

Zero critical; safe to merge. Recommend consistency follow-up.

cs — 8.2/10 (4 critical, ~10 warnings)
Category Score Notes
Brand Name Preservation 9/10 All major brands preserved. Minor "Python" lowercased in one entry.
Technical Accuracy 8/10 ERC-721, EIP, JSON-RPC, MCP, ETH, BTC preserved. No semantic inversions.
Semantic Fidelity 9/10 Long descriptions faithful and fluent.
Terminology Consistency 6/10 gas repeatedly rendered as plyn/plynu (glossary mandates gas); slashing as osekání (glossary: penalizace).
Tone/Register 9/10 Professional, formal Czech.

Critical fixes: normalize gas and slashing per glossary before merge.

de — 8.8/10 (0 critical, 8 warnings)
Category Score Notes
Brand Name Preservation 10/10 All brands and tickers preserved correctly.
Technical Accuracy 9/10 Concept tags translated; brand tags English. Minor: "Bündler" (should stay "Bundler"), "Merkle-Bäume", "GitHub-Sterne".
Semantic Fidelity 10/10 No semantic inversions detected.
Terminology Consistency 9/10 Strong glossary adherence. Minor DApp/Dapp/dApp capitalization variance.
Tone/Register 6/10 Significant du/Sie inconsistency: 4 of 6 files use informal du; page-developers-tools-descriptions.json and page-trillion-dollar-security.json use formal Sie.

Recommend a register pass to align on du across all 6 files.

es — 8.6/10 (0 critical, ~10 warnings)
Category Score Notes
Brand Name Preservation 10/10 All brands preserved.
Technical Accuracy 9/10 EVM, staking, rollup, DeFi, NFT, DAO consistent. No inversions.
Semantic Fidelity 9/10 Faithful renderings; no /governance/gobernanza issues.
Terminology Consistency 8/10 walletbilletera consistent; framework alternates between entorno de trabajo and marco.
Tone/Register 7/10 page-developers-tools.json and page-trillion-dollar-security.json use usted; other 4 files use .

Recommend register pass to normalize on across all 6 files.

fr — 8.8/10 (1 critical, 10 warnings)
Category Score Notes
Brand Name Preservation 10/10 All brands preserved.
Technical Accuracy 8/10 One semantic error: EOA expanded as "compte détenu par un tiers" (reverses meaning).
Semantic Fidelity 8/10 EOA error is the main miss. Mainnet/testnet, validator, PoX not inverted.
Terminology Consistency 8/10 slashing rendered two ways (réduction vs pénalité); burner/jetable inconsistency.
Tone/Register 10/10 Consistent vous formal register across all 6 files.

Critical fix: EOA expansion in trillion-dollar-security section-2-1-list-title-8.

(continued)

@claude
Copy link
Copy Markdown
Contributor

claude Bot commented May 26, 2026

Per-Language Detailed Quality Scores — Part 2/4: hi, id, it, ja, ko, mr

hi — 7.8/10 (1 critical, 10 warnings)
Category Score Notes
Brand Name Preservation 7/10 Most brand names preserved Latin; some transliterated (Uniswap, Arbitrum, Polygon) in some files but not others. "Ethereum" inconsistent (इथेरियम vs Ethereum vs lowercase ethereum).
Technical Accuracy 8/10 JSON-RPC mistakenly transliterated as जेसन-आरपीसी (CRITICAL). Other terms correct.
Semantic Fidelity 8/10 "Trillions of dollars" weakened to singular ट्रिलियन डॉलर; सेतु used ungrammatically as verb in page-apps-category-bridge-description.
Terminology Consistency 7/10 Cross-file inconsistency on Ethereum/Uniswap/Arbitrum/Polygon.
Tone/Register 9/10 Formal, natural Hindi.

Critical fix: revert JSON-RPC tag to Latin form.

id — 9.2/10 (0 critical, 8 warnings)
Category Score Notes
Brand Name Preservation 10/10 All brands preserved correctly.
Technical Accuracy 9/10 Slight drift on node/simpul and blockchain/rantai blok.
Semantic Fidelity 10/10 No inversions.
Terminology Consistency 8/10 node/simpul, blockchain/rantai blok, on-chain/onchain drifts.
Tone/Register 9/10 Formal, technical, natural Indonesian.

Zero critical. Safe to merge with optional consistency follow-up.

it — 9.6/10 (0 critical, 8 warnings)
Category Score Notes
Brand Name Preservation 10/10 All brands preserved.
Technical Accuracy 9/10 Strong. Minor unsolicited parenthetical additions (PBS, RWA, Re-entrancy).
Semantic Fidelity 10/10 No inversions.
Terminology Consistency 9/10 Strong glossary adherence. Minor "Layer 2"/"layer 2 (l2)" tag-vs-prose drift.
Tone/Register 10/10 Natural, fluent, formal-friendly Italian.

Safe to merge.

ja — 8.4/10 (1 critical, 7 warnings)
Category Score Notes
Brand Name Preservation 8/10 Most preserved; Arbitrum/Polygon transliterated in page-founders.
Technical Accuracy 9/10 Glossary terms applied (バリデータ, トランザクション, スマート・コントラクト, ロールアップ, レイヤー2). No PoS/PoW inversions.
Semantic Fidelity 9/10 Meaning preserved in TDS report.
Terminology Consistency 7/10 Ethereum/イーサリアム mixing in descriptions file (57 Latin vs 15 transliterated).
Tone/Register 9/10 です/ます調 maintained.

Critical fix: cross-script character (Traditional Chinese) in tool-the-ethernaut-description — should be Japanese .

ko — 8.2/10 (9+ critical, 10 warnings)
Category Score Notes
Brand Name Preservation 6/10 Solidity/Foundry/Hardhat/Farcaster preserved correctly. Arbitrum (아비트럼), Polygon (폴리곤), Unichain (유니체인), Optimism (옵티미즘 across 20+ tool descriptions), Uniswap (유니스왑) transliterated.
Technical Accuracy 9/10 Strong technical command. Two minor typos (스마트 컨트랙, EVM 체).
Semantic Fidelity 10/10 No semantic inversions.
Terminology Consistency 7/10 월렛/지갑, 프라이빗 키/개인 키 mixed.
Tone/Register 9/10 Polite register consistent.

Critical: brand-name transliteration sweep needed (Arbitrum/Polygon/Optimism/Unichain/Uniswap should remain Latin per project policy).

mr — 8.6/10 (0 critical, 8 warnings)
Category Score Notes
Brand Name Preservation 8/10 Most brands kept Latin per glossary. Two transliterations (Arbitrum/Polygon) use unusual halant.
Technical Accuracy 9/10 Technical terms consistent with glossary. Tickers preserved.
Semantic Fidelity 9/10 Long descriptions accurately convey meaning.
Terminology Consistency 8/10 "स्तर 2" vs "स्तर २" between files.
Tone/Register 9/10 Formal, natural Marathi prose.

Zero critical. Safe to merge.

(continued)

@claude
Copy link
Copy Markdown
Contributor

claude Bot commented May 26, 2026

Per-Language Detailed Quality Scores — Part 3/4: pl, pt-br, ru, sw, ta, te

pl — 8.8/10 (3 critical, 7 warnings)
Category Score Notes
Brand Name Preservation 10/10 All brands preserved correctly.
Technical Accuracy 9/10 Rollup, mempool, slashing, fuzzing, bundler, paymaster all correctly handled.
Semantic Fidelity 9/10 No inversions. Placeholders preserved. One typo wyświetlananie.
Terminology Consistency 7/10 attestation rendered as atestacja across 3 files; glossary mandates poświadczenie.
Tone/Register 9/10 Natural Polish, professional register.

Critical fix: normalize attestationpoświadczenie per glossary.

pt-br — 9.6/10 (0 critical, 6 warnings)
Category Score Notes
Brand Name Preservation 10/10 All brands preserved.
Technical Accuracy 10/10 DEX/DeFi/NFT/DAO/dapp/EOA/EIP/ERC/RPC/MEV/PBS/RWA/EVM/OP Stack/Superchain/mainnet/rollup all rendered per glossary.
Semantic Fidelity 9.5/10 Faithful; minor PBS/RWA acronym additions.
Terminology Consistency 9/10 Strong glossary adherence. Minor tag-vs-prose drift on Camada 2.
Tone/Register 9.5/10 Natural, technical Brazilian Portuguese.

Recommend merge.

ru — 8.8/10 (0 critical, 8 warnings)
Category Score Notes
Brand Name Preservation 9/10 Ethereum→Эфириум, Uniswap→Юнисвоп per glossary. Minor MetaMask Latin/Cyrillic drift.
Technical Accuracy 9/10 Роллап, слэшинг, стейкинг, ончейн, MEV, PBS, L2, блоб all correctly used.
Semantic Fidelity 9/10 No inversions. One ambiguous phrasing.
Terminology Consistency 8/10 Tag-casing inconsistency on tag-layer-2 (lowercase уровень 2 vs title-case siblings).
Tone/Register 9/10 Formal, technical.

Zero critical. Safe to merge.

sw — 9.0/10 (0 critical, 8 warnings)
Category Score Notes
Brand Name Preservation 10/10 All brands preserved. No translated @-handles.
Technical Accuracy 8.5/10 Some inconsistency on rollup/mikusanyiko and block (kitalu/bloku).
Semantic Fidelity 9/10 No PoS/PoW inversions. Minor drift on "dominance"→"utawala".
Terminology Consistency 8/10 block/rollup/slashing oscillation.
Tone/Register 9.5/10 Formal, encyclopedic.

Zero critical. Safe to import.

ta — 6.0/10 (13 critical, 12 warnings)
Category Score Notes
Brand Name Preservation 5/10 Descriptions file keeps Ethereum/MetaMask Latin; other files transliterate. Arbitrum/Polygon/Uniswap transliterated. No cross-file consistency.
Technical Accuracy 6/10 "Token" rendered as வில்லை (card/leaf) is a semantic mistranslation. JSON-RPC in Tamil script.
Semantic Fidelity 7/10 Token mistranslation main fidelity loss.
Terminology Consistency 4/10 THREE spellings of "Ethereum": எத்திரியம் (dominant), எத்தேரியம் (4+), எத்தீரியம் (2).
Tone/Register 8/10 Formal/technical, natural Tamil prose.

Lowest-scoring locale. Recommend significant cleanup before merge: unify Ethereum spelling, replace வில்லைடோக்கன் for token, revert JSON-RPC tag, settle brand-name policy (transliterate vs Latin) and apply uniformly.

te — 8.2/10 (0 critical, 8 warnings)
Category Score Notes
Brand Name Preservation 8/10 Most brands kept Latin. Polygon transliterated in founders but Latin elsewhere; Ethereum sometimes transliterated, sometimes Latin.
Technical Accuracy 8/10 "Atomic" literally as అణు (nuclear) is slightly off. JSON-RPC transliterated acronym unusual.
Semantic Fidelity 9/10 No inversions.
Terminology Consistency 7/10 blockchain spelled two ways (బ్లాక్‌చైన్ vs బ్లాక్‌చెయిన్); slashing rendered as స్లాషింగ్ or కోత.
Tone/Register 9/10 Formal.

Zero critical. Safe to merge with consistency follow-up.

(continued)

@claude
Copy link
Copy Markdown
Contributor

claude Bot commented May 26, 2026

Per-Language Detailed Quality Scores — Part 4/4: tr, uk, ur, vi, zh, zh-tw

tr — 9.0/10 (0 critical, 6 warnings)
Category Score Notes
Brand Name Preservation 10/10 Previously documented "katillik"/"MeFi" regressions NOT present. All brands preserved.
Technical Accuracy 9/10 Validator→doğrulayıcı, miner→madenci preserved. No PoS/PoW inversions.
Semantic Fidelity 9/10 No inversions in TDS report.
Terminology Consistency 8/10 Minor sabit coin/sabitcoin drift.
Tone/Register 9/10 Formal, professional Turkish.

Zero critical. Safe to merge.

uk — 8.4/10 (0 critical, 16 warnings)
Category Score Notes
Brand Name Preservation 7/10 Most brands kept Latin (industry-standard) but inconsistent with glossary Cyrillic mandates (МетаМаск/Юнісвоп).
Technical Accuracy 9/10 PoS/PoW, validator/miner, mainnet/testnet intact. Rollup→ролап consistent.
Semantic Fidelity 9/10 No paragraph drops. No Russian-language leaks detected.
Terminology Consistency 8/10 Етеріум frequently treated as indeclinable in page-developers-tools.json where Ukrainian genitive Етеріуму is required.
Tone/Register 9/10 Tone appropriately professional.

Zero critical. Recommend a Ukrainian-grammar pass to fix indeclinable Етеріум usage in dev-tools page.

ur — 8.6/10 (0 critical, 11 warnings)
Category Score Notes
Brand Name Preservation 8/10 Strong adherence to keep_latin brands. Inconsistent transliteration of Polygon/Arbitrum/Uniswap while peer brands remain Latin.
Technical Accuracy 9/10 Technical concepts accurately rendered. Glossary terms align.
Semantic Fidelity 9/10 No inversions. One fabricated (پی بی ایس) acronym in section-4-5-list-4.
Terminology Consistency 8/10 لامركزی / غیر مرکزی mixed.
Tone/Register 9/10 Appropriate formal register.

Zero critical. Safe to merge. (Eastern Arabic numerals are widely used in Urdu literature; consistent with prior pipeline output.)

vi — 9.0/10 (0 critical, 8 warnings)
Category Score Notes
Brand Name Preservation 10/10 All brands preserved consistently.
Technical Accuracy 9/10 PoS/validator/mainnet/testnet/slashing semantics correct. Glossary terms applied faithfully.
Semantic Fidelity 9/10 No inversions. Minor nuance loss in stylistic phrases.
Terminology Consistency 8/10 client/máy khách mixed; relay/rơ-le mixed.
Tone/Register 9/10 Natural, fluent Vietnamese.

Zero critical. Safe to merge.

zh — 7.6/10 (4 critical, 8 warnings)
Category Score Notes
Brand Name Preservation 7/10 One critical brand transliteration (Uniswap → 尤尼斯瓦普). Other brands correctly Latin.
Technical Accuracy 7/10 Blobs斑点 (specks) is a notable technical error; PoS/PoW/validator/miner usages correct.
Semantic Fidelity 7/10 EAS attestations/attesters numbers swapped; "six years"→"six months" in OpenRPC description.
Terminology Consistency 8/10 Glossary compliance strong; blob/斑点 vs Latin and Pectra/佩克特拉 vs Latin are localized drifts.
Tone/Register 9/10 Natural, fluent Simplified Chinese.

Critical fixes required before merge. Recommend a sweep on Uniswap, six-years-vs-six-months, EAS counts, and Blobs→Blob.

zh-tw — 7.4/10 (7 critical, 6 warnings)
Category Score Notes
Brand Name Preservation 7/10 One critical violation: 尤尼斯瓦普 (Uniswap). Pectra transliterated to 佩克特拉 (inconsistent with Dencun kept Latin).
Technical Accuracy 6/10 Six instances of 卷積 for "rollup" (means "convolution") — clear semantic error.
Semantic Fidelity 8/10 TDS prose accurately conveys English meaning.
Terminology Consistency 7/10 rollup (匯總 vs 卷積 vs Latin) and Gas (Gas vs 燃料) drift.
Tone/Register 9/10 Strong Taiwan-localized forms (應用程式, 軟體, 協定, 預設). No Simplified-character contamination.

Critical fix: replace six rollup → 卷積 instances; replace Uniswap transliteration.

End of detailed score breakdowns.

Targeted fixes from ETHGlossary-grounded translation review of PR #18285:
- ar page-resources "eth-asset-ultrasound-description": model hallucination -- word "sound" was replaced by the brand name "Solidity" inside "المال فائق Solidity (Ultra sound money)"; restored to "الصوت" (sound).
- fr page-trillion-dollar-security "section-2-1-list-title-8": "Externally Owned Account (EOA)" rendered as "compte détenu par un tiers" (account held by a third party), inverting the user-owned meaning; fixed to "compte externe (EOA)".
- ja page-developers-tools-descriptions "tool-the-ethernaut-description": cross-script contamination -- Traditional Chinese "開發者" used instead of Japanese "開発者" plus a stray missing-particle space; fixed to "の開発者".
- pl page-developers-tools-descriptions (3 keys) + page-resources (2 keys): atestacja-family glossary deviation; ETHGlossary mandates "poświadczenie" for "attestation". Fixed 9 substitutions across 5 keys including noun (atestacja->poświadczenie), agent noun (atestator->poświadczający), and gerund (atestowanie->poświadczanie) forms.
- ru page-developers-tools-descriptions "tool-ipfs-description": glossary deviation -- invented "внечейн" used for "offchain" where ETHGlossary mandates "офчейн" (with note that this is standard Russian IT terminology). 3 occurrences in one key.
- zh page-developers-tools-descriptions "tool-openrpc-description": temporal error -- "For over six years" rendered as "六个多月来" (over six months); fixed to "六年多来" (over six years). zh-tw correctly rendered as "六年多來" in the same key.
- zh-tw page-developers-tools-descriptions (6 keys): "rollup" mistranslated as "卷積" (math convolution) where ETHGlossary mandates "匯總"; replaced all 6 instances across the file.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Co-Authored-By: wackerow <54227730+wackerow@users.noreply.github.com>
Copy link
Copy Markdown
Collaborator

@myelinated-wackerow myelinated-wackerow left a comment

Choose a reason for hiding this comment

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

Translation Quality Review

PR: #18285
Branch HEAD: df7a5f9d52 (post-fix; was d43a9aacae pre-fix)
Languages: 24 (ar, bn, cs, de, es, fr, hi, id, it, ja, ko, mr, pl, pt-br, ru, sw, ta, te, tr, uk, ur, vi, zh, zh-tw)
Files reviewed: 141 JSON files (6 page-* per locale, minus 3 langs for page-developers-tools-descriptions)
Scope: Full PR diff, ETHGlossary-driven review (6 files × 24 langs = 144 glossary /filter queries, then per-language tables injected into 7 script-family-grouped review agents)
Date: 2026-05-26
Fixes: 7 issues found and fixed in commit df7a5f9d52

Summary

This review re-evaluates an earlier @claude review that claimed 44 criticals at average 8.5/10. After per-language ETHGlossary lookups and file-level verification, the actual picture is significantly better: 7 genuine issues found and fixed (model hallucination, semantic inversion, temporal error, cross-script contamination, and three glossary deviations). The remainder of the prior @claude criticals were ETHGlossary-authorized transliterations being incorrectly flagged as "must stay Latin".

Issues Fixed in This Review (commit df7a5f9d52)

Severity File Key(s) Issue Fix
Critical src/intl/ar/page-resources.json page-resources-eth-asset-ultrasound-description Model hallucination: the word "sound" was replaced by the brand name Solidity inside المال فائق Solidity (Ultra sound money) Restored to المال فائق الصوت
Critical src/intl/fr/page-trillion-dollar-security.json page-trillion-dollar-security-section-2-1-list-title-8 Semantic inversion: "Externally Owned Account (EOA)" rendered as compte détenu par un tiers (account held by a third party), inverting the user-owned meaning Fixed to compte externe (EOA)
Critical src/intl/ja/page-developers-tools-descriptions.json tool-the-ethernaut-description Cross-script contamination: Traditional Chinese 開發者 used instead of Japanese 開発者, plus a stray missing-particle space Fixed to の開発者
Critical src/intl/pl/page-developers-tools-descriptions.json (3 keys) + src/intl/pl/page-resources.json (2 keys) tool-ethereum-attestation-service-eas-description, tool-op-ens-gateway-by-optidomains-description, tool-farcaster-attestation-description, page-resources-attestations-title, page-resources-attestations-eas-description Glossary deviation: atestacja-family terms used for "attestation"; ETHGlossary mandates poświadczenie 9 substitutions across 5 keys covering noun (atestacja -> poświadczenie), agent noun (atestator -> poświadczający), and gerund (atestowanie -> poświadczanie) forms
Critical src/intl/ru/page-developers-tools-descriptions.json tool-ipfs-description Glossary deviation: invented внечейн used for "offchain"; ETHGlossary mandates офчейн (with note "Used frequently as an invariable adjective or adverb in Russian IT terminology") 3 substitutions in one key
Critical src/intl/zh/page-developers-tools-descriptions.json tool-openrpc-description Temporal error: "For over six years" rendered as 六个多月来 (over six months); zh-tw correctly rendered as 六年多來 in the same key Fixed to 六年多来
Critical src/intl/zh-tw/page-developers-tools-descriptions.json 6 keys Glossary deviation: rollup mistranslated as 卷積 (math convolution) where ETHGlossary mandates 匯總 for Traditional Chinese All 6 instances replaced with 匯總

False positives from prior @claude review (verified against ETHGlossary)

Prior critical class Languages ETHGlossary verdict
Brand-name transliterations "must stay Latin" (Optimism, Arbitrum, Polygon, Unichain, Uniswap) ko, ja, ta, zh, zh-tw FALSE POSITIVE -- glossary has explicit per-language transliterated entries (옵티미즘, アービトラム, ஆர்பிட்ரம், 尤尼斯瓦普, etc.) for ALL of these.
JSON-RPC tag transliterated "must stay Latin" hi, ta FALSE POSITIVE -- glossary explicitly authorizes Devanagari/Tamil transliteration.
Ethash "must stay Latin" bn, hi, mr, ta, te, ur FALSE POSITIVE -- glossary scriptRule: translate.
Tamil three-spelling Ethereum claim ta FALSE POSITIVE -- intentional context-specific compound forms per glossary (எத்திரியம் standalone, எத்தீரியம் அறக்கட்டளை Foundation, எத்தேரியம் முதன்மை வலைப்பின்னல் Mainnet).
Tamil token -> வில்லை flagged as deviation ta FALSE POSITIVE -- glossary explicitly says வில்லை is the native term, with டோக்கன் as an alternate ("Often transliterated as 'டோக்கன்' in casual settings").
zh EAS attestation/attester subject-object inversion zh FALSE POSITIVE -- zh text "14k unique attesters made 1M+ attestations" matches EN "1M+ attestations from 14k+ attesters"; the translator inverted clause order but preserved meaning.
cs slashing -> osekání flagged as deviation cs NUANCED FALSE POSITIVE -- ETHGlossary has both slash -> penalizace AND social slashing -> sociální osekání with the note "'Osekání' is the standard translation for 'slashing' in proof-of-stake contexts in Czech". The file uses the more specific compound entry. Translator followed glossary; the visible "deviation" is a glossary self-contradiction.
cs gas -> plyn in many keys cs NUANCED FALSE POSITIVE -- bare gas stays Latin per glossary; plyn only appears inside gas fee compound which IS the glossary entry poplatek za plyn. Glossary self-contradicts itself; translator was glossary-compliant.

Warnings Open (for native review / future passes)

Language Issue Files
de page-trillion-dollar-security.json section-6-2-paragraph-1: minor declension on an reale Vermögenswerte page-trillion-dollar-security
sw page-trillion-dollar-security.json section-3-6-paragraph-2: cryptocurrencies rendered as fedha za siri (literally "secret money") instead of glossary-mapped kripto page-trillion-dollar-security
sw page-developers-tools.json category-sdks-title: front-end rendered as upande wa mbele (literal "front side"), unusual for a technical heading page-developers-tools
uk page-trillion-dollar-security.json section-2-1-list-title-7: spelling slip Мості should be Мости (nominative plural of bridge) page-trillion-dollar-security
uk page-apps.json category-dao-meta-description: case agreement error найкращі інструментів should be найкращі інструменти page-apps
te page-developers-tools-descriptions.json (34 occurrences): blockchain rendered as బ్లాక్‌చెయిన్ (variant spelling) instead of glossary-canonical బ్లాక్‌చైన్ used in the other 5 files page-developers-tools-descriptions
vi page-resources.json (multiple keys): "adoption" rendered as sự chấp thuận (approval) instead of sự áp dụng (uptake/usage) page-resources
vi, id, sw Censorability Monitor naming ambiguity (could read as "Ethereum's ability to censor" rather than "how censorable Ethereum is") page-resources
hi Some tool descriptions in page-developers-tools-descriptions.json end with Devanagari danda attached to URL fragments page-developers-tools-descriptions
sw mteja/wateja for computing "client" continues (per-glossary policy but warrants native review) page-trillion-dollar-security and others

Upstream English-source issues (not translation defects)

  • page-resources-mev-mevboost-description contains content from the stablecoinswtf description (mentions "stablecoins" in an MEV-Boost item). Multiple translations faithfully mirror this English-side bug.
  • tool-rust-libp2p-description ends mid-sentence in the English source per the prior review.

Glossary follow-ups recommended

  1. cs glossary self-contradiction -- gas -> gas vs gas fee -> poplatek za plyn, and slash -> penalizace vs social slashing -> sociální osekání. The translator can only follow one entry at a time; the visible inconsistencies in cs files are glossary-driven, not translator-driven. Worth a one-pass harmonization of either the bare term or the compound entries.
  2. ETHGlossary entries for tags -- prior reviewer flagged some concept tags as untranslated and some brand-name tags as wrongly translated; per-tag glossary entries would resolve ambiguity.

Updated quality scores

After removing false positives and applying the 7 fixes:

Language Files Quality (post-fix) Issues remaining
ar 6 9.4/10 Solidity hallucination fixed; otherwise clean
bn 5 9.4/10 Clean (minor consistency drift on numerals)
cs 6 9.4/10 Glossary self-contradiction warnings (not translator-side)
de 6 9.7/10 One minor declension warning
es 6 9.9/10 Clean
fr 6 9.7/10 EOA inversion fixed
hi 6 9.0/10 URL-danda warnings
id 6 9.4/10 Minor node/simpul consistency
it 5 9.6/10 Clean
ja 6 9.6/10 Cross-script contamination fixed
ko 6 9.8/10 Clean (all prior 9 "criticals" were glossary-authorized)
mr 6 9.4/10 Clean
pl 6 9.5/10 Attestation glossary fixed (9 subs)
pt-br 6 9.6/10 Clean
ru 6 9.4/10 Внечейн -> Офчейн fixed in IPFS tool
sw 5 9.0/10 Minor warnings (fedha za siri, front-end, mteja policy)
ta 6 9.4/10 Clean (prior 13 "criticals" were all glossary-authorized)
te 6 8.6/10 Blockchain spelling drift in tools-descriptions (34 hits warning)
tr 6 9.7/10 Clean
uk 6 9.2/10 Two minor spelling/grammar warnings
ur 6 9.4/10 Clean
vi 6 9.0/10 adoption/approval semantic warning
zh 6 9.6/10 Six-years temporal fixed
zh-tw 6 9.5/10 Rollup -> 匯總 fixed (6 keys)

Overall average post-fix: ~9.4/10 -- substantially higher than the prior @claude review's 8.5/10 estimate, which was depressed by ~37 false-positive criticals.

Methodology notes

  • All /filter glossary queries used the corrected content: field (PR #18275). Per-language ETHGlossary tables were injected into agent prompts as authoritative references.
  • 7 script-family-grouped sub-agents reviewed all 141 files in parallel, with explicit anti-false-positive context distilled from prior PR reviews.
  • Numerical/temporal spot-checks across all 24 languages: the zh 六个多月 (six months vs source "six years") was the only confirmed temporal error.
  • The zh EAS attestation/attester "subject-object inversion" claim by the prior @claude review was independently verified false: zh text correctly conveys "14k attesters made 1M attestations" matching the English meaning despite reversed clause order.

Reviewed by Claude Code with ETHGlossary as authoritative source. 7 parallel script-family-grouped per-language sub-agents, full PR diff scope, full glossary cross-check.

@wackerow wackerow merged commit 0c833f4 into dev May 27, 2026
15 checks passed
@wackerow wackerow deleted the intl/pending-dev branch May 27, 2026 06:54
@pettinarip pettinarip mentioned this pull request May 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

translation 🌍 This is related to our Translation Program

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants