Skip to content

npm run i18n:check fails on release/v1.7.0 — ~50 missing/extra keys across 11 locales #129

Description

@EtienneLescot

Summary

While running the RC end-to-end checklist for v1.7.0-rc.3 (b9a144f on release/v1.7.0), npm run i18n:check failed with a large number of missing (and a few extra) translation keys, spread across most non-English locales and six different namespace files.

This is not a regression introduced during the 1.7.0 RC windowgit log -S"autoFocusAllOn" -- src/i18n/locales/en/timeline.json shows the English keys were added back in commit a371658 ("global auto toggle"), and git show v1.6.0:src/i18n/locales/fr/timeline.json | grep autoFocusAllOn confirms fr was already missing them in the last stable release. So this is pre-existing translation debt, not something rc.3 broke. Filing it anyway since i18n:check is a real script in package.json (npm run i18n:check) and it's currently red.

Repro

git checkout release/v1.7.0   # or main — same gap exists there too
npm install
npm run i18n:check

Output ends with:

i18n check FAILED — translation files are out of sync.

Affected locales / namespaces (as of b9a144f)

  • ar, es, fr, it, ja-JP, ko-KR, pt-BR, ru, tr, vi, zh-CN, zh-TW (12 of 13 non-English locales)
  • Namespaces with gaps: dialogs.json (unsavedChanges.*), editor.json (emptyState.*, it/pt-BR only), launch.json (sourceSelector.*, tooltips.*), settings.json (cursor.clipToBoundsDescription, zoom.focusMode.lockedDisclaimer, textAnimation.* in several locales, plus a few EXTRA stale keys like annotation.selectAnimation/annotation.textAnimation that look like they were renamed to textAnimation.* in English but the old names linger in ar/tr/vi/zh-CN/zh-TW/pt-BR), shortcuts.json (pt-BR only), timeline.json (buttons.autoFocusAllOn/autoFocusAllOff/autoZoomOn/autoZoomOff — missing in all 12 non-English locales).

User-facing impact

Any of these UI strings will fall back to the i18n library's fallback behavior (raw key or English) for affected locales. Concretely: a French, Spanish, German, etc. user turning on the auto-zoom timeline feature will see an untranslated button label. This likely explains why a French UI spot-check during the 2026-07-19 RC pass (docs/testing/rc-e2e-checklist.md) didn't catch it — the spot-check didn't happen to click the specific auto-zoom controls.

Suggested fix

Someone with translation context needs to backfill the missing keys and remove the stale EXTRA ones. Given the scale (~50 keys × up to 12 locales), this is probably its own PR rather than a quick fix.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions