Anonymized internal case · 2026-09-23

Repairing mixed-language UI without chasing strings one by one

The repair traced locale selection, resource keys, fallback logic, dynamic content, and device language, then regressed long text and restart flows.

Problem

Primary screens looked localized, yet real flows still mixed Chinese buttons, English descriptions, and untranslated rules. Replacing isolated strings caused regressions and did not cover server content or persisted locale state.

Approach

One authoritative locale state was established before inventorying every user-visible text source. Missing keys, dynamic rules, and default data received bilingual structures, followed by first-launch, restart, language-switch, empty, error, and long-text checks.

Result

The fix no longer depended on whether a screen happened to rebuild; a single locale state drove the interface. Evidence covered both Chinese and English paths instead of treating one-language screenshots as bilingual acceptance.