* ## Done! ✅
The [check-i18n.sh](file:///private/var/folders/m1/9q_ct1913z10v6wbnv54j25r0000gn/T/vibe-kanban/worktrees/a6aa-check-i18n-consi/scripts/check-i18n.sh) script has been extended with key consistency checking:
**What was added:**
- `get_json_keys()` - Extracts all nested keys from translation JSON files
- `check_key_consistency()` - Validates that all languages have the same keys as English
- Both checks now run in sequence with aggregated exit status
**Features:**
- Auto-discovers languages and namespaces from the filesystem
- Reports missing keys as errors (script fails)
- Reports extra keys as warnings (optional strict mode with `I18N_FAIL_ON_EXTRA=1`)
- Verbose mode available with `I18N_VERBOSE=1`
**Current issues detected:**
- Spanish translations missing 13 keys across common.json and settings.json
- Japanese translations appear to be up to date
* Perfect! All missing Spanish translations have been added and the script now passes ✅
**Added translations:**
- [es/common.json](file:///private/var/folders/m1/9q_ct1913z10v6wbnv54j25r0000gn/T/vibe-kanban/worktrees/a6aa-check-i18n-consi/frontend/src/i18n/locales/es/common.json): 8 conversation-related keys
- [es/settings.json](file:///private/var/folders/m1/9q_ct1913z10v6wbnv54j25r0000gn/T/vibe-kanban/worktrees/a6aa-check-i18n-consi/frontend/src/i18n/locales/es/settings.json): 5 settings-related keys