Check i18n consistency (vibe-kanban) (#960)

* ## 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
This commit is contained in:
Louis Knight-Webb
2025-10-07 14:26:50 +01:00
committed by GitHub
parent 0c8426ce72
commit e17de68547
3 changed files with 134 additions and 3 deletions

View File

@@ -23,6 +23,18 @@
"browserDefault": "Predeterminado del navegador"
},
"conversation": {
"plan": "Plan",
"planToggle": {
"show": "Mostrar plan",
"hide": "Ocultar plan"
},
"toolDetailsToggle": {
"show": "Mostrar detalles",
"hide": "Ocultar detalles"
},
"args": "Argumentos",
"output": "Salida",
"result": "Resultado",
"deniedByUser": "{{toolName}} denegado por el usuario"
},
"branchSelector": {

View File

@@ -44,7 +44,8 @@
"placeholder": "Seleccionar perfil",
"helper": "Define la configuración predeterminada del agente que se usará al iniciar una tarea."
},
"variant": "PREDETERMINADO"
"variant": "PREDETERMINADO",
"defaultLabel": "Predeterminado"
},
"editor": {
"title": "Editor",
@@ -61,7 +62,13 @@
"connectButton": "Conectar Cuenta de GitHub",
"manage": "Gestionar",
"disconnect": "Desconectar",
"helper": "Conecta tu cuenta de GitHub para acceder a repositorios privados y habilitar acciones avanzadas de Git."
"helper": "Conecta tu cuenta de GitHub para acceder a repositorios privados y habilitar acciones avanzadas de Git.",
"or": "O",
"pat": {
"label": "Token de Acceso Personal",
"helper": "Token de Acceso Personal de GitHub con permisos 'repo'. Úsalo si los permisos OAuth son insuficientes para repositorios privados y repositorios de organizaciones.",
"createTokenLink": "Crear token aquí"
}
},
"notifications": {
"title": "Notificaciones",