i18n: translation pipeline (bn)#18286
Conversation
Co-Authored-By: Gemini <gemini@google.com>
✅ Deploy Preview for ethereumorg ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
🌐 Translation review started. View progress |
myelinated-wackerow
left a comment
There was a problem hiding this comment.
Translation Quality Review
PR: #18286
Branch HEAD: 1513336497
Languages in this PR: bn only (it and sw failed during pipeline; see below)
Files reviewed: 1 -- src/intl/bn/page-developers-tools-descriptions.json
Scope: Full file, ETHGlossary-grounded review
Date: 2026-05-27
Fixes: None applied (translation is structurally clean)
Summary
PR title says "(it, bn, sw)" but only the bn file actually landed -- the it and sw runs failed in the upstream Intl Pipeline workflow (run 26495825619, completed 2026-05-27 06:54). Failure analysis is captured separately; this review covers bn only.
bn translation is structurally clean and largely glossary-compliant. No critical issues. One systematic editorial deviation worth flagging.
bn quality details
- All 226 keys present, valid JSON (matches English source key count)
- Brand names preserved Latin across the file: Solidity (×59), Foundry (×16), Hardhat (×7), Optimism (×51), Uniswap (×12), Coinbase (×4), Arbitrum (×4), Polygon (×2), Etherscan (×5), IPFS (×12), GitHub (×2)
- Technical concepts transliterated per ETHGlossary:
blockchain->ব্লকচেইন(×61) - matches glossarysmart contract->স্মার্ট কন্ট্রাক্ট(×110) - matches glossarynetwork->নেটওয়ার্ক(×28) - matches glossarytransaction->ট্রানজ্যাকশন(×33) - matches glossaryblock->ব্লক(×73) - matches glossarynode->নোড(×14) - matches glossarywallet->ওয়ালেট(×16) - matches glossaryvalidator->ভ্যালিডেটর(×1) - matches glossary
- Large strings handle cleanly:
tool-updraft-description(11,374 chars EN -> 26,595 Bengali bytes) translated faithfully - No translated hrefs, no English-leak paragraphs, no cross-script contamination, no semantic inversions detected
Warning open (not auto-fixing)
| Type | Detail |
|---|---|
| Cross-file consistency | Ethereum is kept in Latin for all 102 occurrences in this file. ETHGlossary mandates ইথেরিয়াম for bn, and other bn translations (e.g., page-staking.json on dev uses ইথেরিয়াম 19 times). Defensible editorial choice in a tool-listing context where Ethereum appears alongside other Latin brand names, but a real consistency drift across files. Worth a project-level call. |
Quality scores (bn, page-developers-tools-descriptions.json)
| Category | Score | Notes |
|---|---|---|
| Brand Name Preservation | 10/10 | All Latin brands preserved per glossary |
| Technical Accuracy | 9/10 | Glossary terms consistently rendered; only Ethereum-transliteration deviation |
| Semantic Fidelity | 10/10 | No inversions, all large strings preserved meaning |
| Terminology Consistency | 9/10 | Within-file consistent; cross-file Ethereum-form drift |
| Tone/Register | 10/10 | Natural Bengali technical register throughout |
Overall: 9.6/10
Pipeline failure notes for it and sw (informational)
Both failures occurred in the same pipeline run (id 26495825619) but have different root causes:
- it: deterministic key drop. All 3 attempts on chunk 1/3 returned 99 keys instead of 100. Gemini is dropping or merging the same key each time -- not a timeout, not a size issue (chunk 1 is 43KB, well under the 64KB budget). Validation correctly retried, but couldn't recover from a content-level bug. Detailed analysis with mitigation patch in flight separately.
- sw: 300s timeout × 3 on chunk 2. sw expands output by ~1.5× relative to source; chunk 1 used 86% of the timeout window (258.6s) and succeeded; chunk 2 hit the 300s wall on every attempt. Hard
GEMINI_TIMEOUT_MScap inlib/llm/gemini.ts:1068.
Recommended mitigations (planned as separate PR):
- Reduce
MAX_CHUNK_BYTESfrom 65,536 -> 32,768 (halve chunk size). Pure structural fix. - Progressive chunking on validation failure: on the 3rd retry, split the batch in half and retry instead of giving up.
- Better validation diagnostics: log which key(s) are missing on count mismatch (current log only says "got 99, expected 100").
Reviewed by Claude Code with ETHGlossary as authoritative source.

Automated Translations
This PR contains translations managed by the intl pipeline.
Each run appends a summary below.
Run: 2026-05-27 07:15:34 UTC
2 task(s) failed:
src/intl/en/page-developers-tools-descriptions.json(it): Output validation failed after 3 attempts: Key count mismatch: got 99, expected 100src/intl/en/page-developers-tools-descriptions.json(sw): This operation was abortedRerun the failed combinations: