Problem
A native-speaker QA pass (one review per language) over the full i18n dictionary in static/js/i18n.js found real mistranslations, inconsistent terminology, and grammar mistakes that had shipped in earlier translation work, including:
- Mistranslations: German "schleifen" (to grind) used for "loop"; German "Skala" (measurement scale) used for the musical "Scale" concept instead of "Tonleiter"; Indonesian "hitungan mundur" (countdown) used for the "count-in" concept; Chinese Alpha-stage badge translated as "内测" (beta/internal-testing, a different release stage); Chinese 调式 (mode) used for "Key", colliding with the adjacent "Scale" concept
- Grammar errors: Polish per-stem aria-labels ("Wycisz {name}") required a grammatical case the interpolated stem name isn't declined for (e.g. "Wycisz Perkusja" instead of "Wycisz Perkusję"); German article/gender mismatches (das vs. die Recheneinheit); a German relative clause with a subject/verb-number mismatch
- Inconsistent terminology within the same language: the same English concept (track, stem, region, job, grid) translated two different ways in different keys — e.g. German Grid/Raster, Japanese 曲/トラック, Chinese 音轨/曲目, Polish fragment/obszar, Portuguese job/tarefa
- Formatting:
job.working used three ASCII dots ("...") instead of the single … character used everywhere else, in 6 of the 7 languages
Fix
All findings applied directly to static/js/i18n.js (and one call-site change in static/js/playlist.js, tracked separately in #418). Re-verified via placeholder-parity audit, duplicate-key audit, reference-resolution audit, and a full visual regression pass across all 7 languages.
Fixed in #415.
Problem
A native-speaker QA pass (one review per language) over the full i18n dictionary in
static/js/i18n.jsfound real mistranslations, inconsistent terminology, and grammar mistakes that had shipped in earlier translation work, including:job.workingused three ASCII dots ("...") instead of the single…character used everywhere else, in 6 of the 7 languagesFix
All findings applied directly to
static/js/i18n.js(and one call-site change instatic/js/playlist.js, tracked separately in #418). Re-verified via placeholder-parity audit, duplicate-key audit, reference-resolution audit, and a full visual regression pass across all 7 languages.Fixed in #415.