All 15 non-English locale files had a structural mismatch with en.json: - en.json used nested keys (common.buttons.cancel) - Other locales used flat keys (cancel, DeleteAccountButton) - Result: 0.3% effective translation coverage at runtime ## Changes Migration script (client/scripts/migrate-locales.ts): - Restructures all locale files to match en.json's nested key structure - Recovers existing translations via safe key-matching strategies - Backs up originals to locales/backup/ Translation of all 15 languages: - ar (94.6%), cs (91.6%), de (89.4%), es (92.6%), fi (94.2%) - fr (86.7%), ja (93.3%), pt-BR (91.0%), ru (93.0%), th (93.4%) - tr (91.9%), uk (94.3%), vi (92.5%), zh-CN (94.0%), zh-TW (94.2%) Keys intentionally left in English are technical terms (HTTP, CPU, Docker, gRPC, etc.), placeholder examples, and brand names. en.json was NOT modified.
This directory contains the client side (frontend) of Checkmate.