# Menú principal
menu:
  subtitle: 'Tutor de Mecanografía en Terminal'
  adaptive_drill: 'Ejercicio Adaptativo'
  adaptive_drill_desc: 'Palabras fonéticas con desbloqueo adaptativo de teclas'
  code_drill: 'Ejercicio de Código'
  code_drill_desc: 'Practica escribiendo sintaxis de código'
  passage_drill: 'Ejercicio de Pasaje'
  passage_drill_desc: 'Escribe pasajes de libros'
  skill_tree: 'Árbol de Habilidades'
  skill_tree_desc: 'Ver ramas de progresión e iniciar ejercicios'
  keyboard: 'Teclado'
  keyboard_desc: 'Explora la distribución del teclado y estadísticas'
  statistics: 'Estadísticas'
  statistics_desc: 'Ver tus estadísticas de escritura'
  settings: 'Configuración'
  settings_desc: 'Configurar keydr'
  day_streak: ' | %{days} días seguidos'
  key_progress: ' Progreso de Teclas %{unlocked}/%{total} (%{mastered} dominadas) | Objetivo %{target} WPM%{streak}'
  hint_start: '[1-3] Iniciar'
  hint_skill_tree: '[t] Árbol de Habilidades'
  hint_keyboard: '[b] Teclado'
  hint_stats: '[s] Estadísticas'
  hint_settings: '[c] Configuración'
  hint_quit: '[q] Salir'

# Pantalla de ejercicio
drill:
  title: ' Ejercicio '
  mode_adaptive: 'Adaptativo'
  mode_code: 'Código (Sin rango)'
  mode_passage: 'Pasaje (Sin rango)'
  focus_char: 'Foco: ''%{ch}'''
  focus_bigram: 'Foco: "%{bigram}"'
  focus_both: 'Foco: ''%{ch}'' + "%{bigram}"'
  header_wpm: 'WPM'
  header_acc: 'Pre'
  header_err: 'Err'
  code_source: ' Fuente de código '
  passage_source: ' Fuente del pasaje '
  footer: '[ESC] Fin  [Backspace] Borrar'
  keys_reenabled: 'Teclas reactivadas en %{ms}ms'
  hint_end: '[ESC] Fin del ejercicio'
  hint_backspace: '[Backspace] Borrar'

# Panel / resultado del ejercicio
dashboard:
  title: ' Ejercicio Completo '
  results: 'Resultados'
  unranked_note_prefix: '  (Sin rango'
  unranked_note_suffix: ' no cuenta para el árbol de habilidades)'
  speed: '  Velocidad: '
  accuracy_label: '  Precisión: '
  time_label: '  Tiempo:    '
  errors_label: '  Errores:   '
  correct_detail: '  (%{correct}/%{total} correctos)'
  input_blocked: '  Entrada bloqueada temporalmente '
  input_blocked_ms: '(%{ms}ms restantes)'
  hint_continue: '[c/Enter/Space] Continuar'
  hint_retry: '[r] Reintentar'
  hint_menu: '[q] Menú'
  hint_stats: '[s] Estadísticas'
  hint_delete: '[x] Eliminar'

# Barra lateral de estadísticas (durante el ejercicio)
sidebar:
  title: ' Estadísticas '
  wpm: 'WPM: '
  target: 'Objetivo: '
  target_wpm: '%{wpm} WPM'
  accuracy: 'Precisión: '
  progress: 'Progreso: '
  correct: 'Correcto: '
  errors: 'Errores: '
  time: 'Tiempo: '
  last_drill: ' Último Ejercicio '
  vs_avg: '  vs prom: '

# Panel de estadísticas
stats:
  title: ' Estadísticas '
  empty: 'Aún no hay ejercicios completados. ¡Empieza a escribir!'
  tab_dashboard: '[1] Panel'
  tab_history: '[2] Historial'
  tab_activity: '[3] Actividad'
  tab_accuracy: '[4] Precisión'
  tab_timing: '[5] Tiempos'
  tab_ngrams: '[6] N-gramas'
  hint_back: '[ESC] Volver'
  hint_next_tab: '[Tab] Siguiente pestaña'
  hint_switch_tab: '[1-6] Cambiar pestaña'
  hint_navigate: '[j/k] Navegar'
  hint_page: '[PgUp/PgDn] Página'
  hint_delete: '[x] Eliminar'
  summary_title: ' Resumen '
  drills: '  Ejercicios: '
  avg_wpm: '    WPM Prom: '
  best_wpm: '    Mejor WPM: '
  accuracy_label: '  Precisión: '
  total_time: '    Tiempo total: '
  wpm_chart_title: ' WPM por Ejercicio (Últimos 20, Objetivo: %{target}) '
  accuracy_chart_title: ' Precisión %% (Últimos 50 Ejercicios) '
  chart_drill: 'Ejercicio #'
  chart_accuracy_pct: 'Precisión %%'
  sessions_title: ' Sesiones Recientes '
  session_header: '   #     WPM    Raw    Pre%%    Tiempo    Fecha/Hora        Modo       Rango   Parcial'
  session_separator: '  ─────────────────────────────────────────────────────────────────────'
  delete_confirm: '¿Eliminar sesión #%{idx}? (y/n)'
  confirm_title: ' Confirmar '
  yes: 'sí'
  no: 'no'
  keyboard_accuracy_title: ' Precisión del Teclado %% '
  keyboard_timing_title: ' Tiempos del Teclado (ms) '
  slowest_keys_title: ' Teclas más Lentas (ms) '
  fastest_keys_title: ' Teclas más Rápidas (ms) '
  worst_accuracy_title: ' Peor Precisión (%%) '
  best_accuracy_title: ' Mejor Precisión (%%) '
  not_enough_data: ' Datos insuficientes'
  streaks_title: ' Rachas '
  current_streak: '  Actual: '
  best_streak: '    Mejor: '
  active_days: '    Días activos: '
  top_days_none: '  Mejores días: ninguno'
  top_days: '  Mejores días: %{days}'
  wpm_label: '  WPM: %{avg}/%{target} (%{pct}%%)'
  acc_label: '  Pre: %{pct}%%'
  keys_label: '  Teclas: %{unlocked}/%{total} (%{mastered} dominadas)'
  ngram_empty: 'Completa ejercicios adaptativos para ver datos de n-gramas'
  ngram_header_speed_narrow: ' Bgrm Vel   Esper Anom%'
  ngram_header_error_narrow: ' Bgrm Err Mst Tasa Esp Anom%'
  ngram_header_speed: ' Bigrama  Vel    Esper   Muestras Anom%'
  ngram_header_error: ' Bigrama Errores Muestras Tasa  Esper   Anom%'
  focus_title: ' Foco Activo '
  focus_char_label: '  Foco: '
  focus_bigram_value: 'Bigrama %{label}'
  focus_plus: ' + '
  anomaly_error: 'errores'
  anomaly_speed: 'velocidad'
  focus_detail_both: '  Carácter ''%{ch}'': tecla más débil | Bigrama %{label}: anomalía de %{type} %{pct}%%'
  focus_detail_char_only: '  Carácter ''%{ch}'': tecla más débil, sin anomalías de bigrama confirmadas'
  focus_detail_bigram_only: '  (anomalía de %{type}: %{pct}%%)'
  focus_empty: '  Completa ejercicios adaptativos para ver datos de foco'
  error_anomalies_title: ' Anomalías de Error (%{count}) '
  no_error_anomalies: ' No se detectaron anomalías de error'
  speed_anomalies_title: ' Anomalías de Velocidad (%{count}) '
  no_speed_anomalies: ' No se detectaron anomalías de velocidad'
  scope_label_prefix: ' '
  bi_label: ' | Bi: %{count}'
  hes_label: ' | Hes: >%{ms}ms'
  focus_char_value: 'Carácter ''%{ch}'''

# Mapa de actividad
heatmap:
  title: ' Actividad Diaria (Sesiones por Día) '
  jan: 'Ene'
  feb: 'Feb'
  mar: 'Mar'
  apr: 'Abr'
  may: 'May'
  jun: 'Jun'
  jul: 'Jul'
  aug: 'Ago'
  sep: 'Sep'
  oct: 'Oct'
  nov: 'Nov'
  dec: 'Dic'

# Gráfico
chart:
  wpm_over_time: ' WPM a lo largo del tiempo '
  drill_number: 'Ejercicio #'

# Configuración
settings:
  title: ' Configuración '
  subtitle: 'Usa las flechas para navegar, Enter/Derecha para cambiar, ESC para guardar y salir'
  target_wpm: 'WPM Objetivo'
  theme: 'Tema'
  word_count: 'Cantidad de Palabras'
  ui_language: 'Idioma de Interfaz'
  dictionary_language: 'Idioma del Diccionario'
  keyboard_layout: 'Distribución de Teclado'
  code_language: 'Lenguaje de Código'
  code_downloads: 'Descargas de Código'
  on: 'Sí'
  off: 'No'
  code_download_dir: 'Dir. Descarga de Código'
  snippets_per_repo: 'Fragmentos por Repo'
  unlimited: 'Ilimitado'
  download_code_now: 'Descargar Código Ahora'
  run_downloader: 'Ejecutar descargador'
  passage_downloads: 'Descargas de Pasajes'
  passage_download_dir: 'Dir. Descarga de Pasajes'
  paragraphs_per_book: 'Párrafos por Libro'
  whole_book: 'Libro completo'
  download_passages_now: 'Descargar Pasajes Ahora'
  export_path: 'Ruta de Exportación'
  export_data: 'Exportar Datos'
  export_now: 'Exportar ahora'
  import_path: 'Ruta de Importación'
  import_data: 'Importar Datos'
  import_now: 'Importar ahora'
  hint_save_back: '[ESC] Guardar y volver'
  hint_change_value: '[Enter/flechas] Cambiar valor'
  hint_edit_path: '[Enter en ruta] Editar'
  hint_move: '[←→] Mover'
  hint_tab_complete: '[Tab] Completar (al final)'
  hint_confirm: '[Enter] Confirmar'
  hint_cancel: '[Esc] Cancelar'
  success_title: ' Éxito '
  error_title: ' Fallo '
  press_any_key: 'Presiona cualquier tecla'
  file_exists_title: ' Archivo Existente '
  file_exists: 'Ya existe un archivo en esta ruta.'
  overwrite_rename: '[d] Sobrescribir  [r] Renombrar  [Esc] Cancelar'
  erase_warning: 'Esto borrará tus datos actuales.'
  export_first: 'Exporta primero si deseas conservarlos.'
  proceed_yn: '¿Continuar? (y/n)'
  confirm_import_title: ' Confirmar Importación '

# Pantallas de selección
select:
  dictionary_language_title: ' Seleccionar Idioma del Diccionario '
  keyboard_layout_title: ' Seleccionar Distribución de Teclado '
  code_language_title: ' Seleccionar Lenguaje de Código '
  passage_source_title: ' Seleccionar Fuente de Pasajes '
  ui_language_title: ' Seleccionar Idioma de Interfaz '
  more_above: '... %{count} más arriba ...'
  more_below: '... %{count} más abajo ...'
  current: ' (actual)'
  disabled: ' (desactivado)'
  enabled_default: ' (activado, predeterminado: %{layout})'
  enabled: ' (activado)'
  disabled_blocked: ' (desactivado: bloqueado)'
  built_in: ' (incluido)'
  cached: ' (en caché)'
  disabled_download: ' (desactivado: requiere descarga)'
  download_required: ' (requiere descarga)'
  hint_navigate: '[Up/Down/PgUp/PgDn] Navegar'
  hint_confirm: '[Enter] Confirmar'
  hint_back: '[ESC] Volver'
  language_resets_layout: 'Seleccionar un idioma restablece la distribución a la predeterminada de ese idioma.'
  layout_no_language_change: 'Cambiar distribución no cambia el idioma del diccionario.'
  disabled_network_notice: 'Algunos idiomas están desactivados: activa las descargas en intro/configuración.'
  disabled_sources_notice: 'Algunas fuentes están desactivadas: activa las descargas en intro/configuración.'
  passage_all: 'Todos (Incluidos + todos los libros)'
  passage_builtin: 'Solo pasajes incluidos'
  passage_book_prefix: 'Libro: %{title}'

# Progreso
progress:
  overall_key_progress: 'Progreso General de Teclas'
  unlocked_mastered: '%{unlocked}/%{total} desbloqueadas (%{mastered} dominadas)'

# Árbol de habilidades
skill_tree:
  title: ' Árbol de Habilidades '
  locked: 'Bloqueado'
  unlocked: 'desbloqueado'
  mastered: 'dominado'
  in_progress: 'en progreso'
  complete: 'completo'
  locked_status: 'bloqueado'
  locked_notice: 'Completa %{count} letras primarias para desbloquear ramas'
  branches_separator: 'Ramas (disponibles tras %{count} letras primarias)'
  unlocked_letters: 'Desbloqueadas %{unlocked}/%{total} letras'
  level: 'Nivel %{current}/%{total}'
  level_zero: 'Nivel 0/%{total}'
  in_focus: '  en foco'
  hint_navigate: '[↑↓/jk] Navegar'
  hint_scroll: '[PgUp/PgDn o Ctrl+U/Ctrl+D] Desplazar'
  hint_back: '[q] Volver'
  hint_unlock: '[Enter] Desbloquear'
  hint_start_drill: '[Enter] Iniciar Ejercicio'
  unlock_msg_1: 'Una vez desbloqueado, el ejercicio adaptativo incluirá teclas de esta rama que estén desbloqueadas.'
  unlock_msg_2: 'Si quieres enfocarte solo en esta rama, inicia un ejercicio directamente desde esta rama en el Árbol de Habilidades.'
  confirm_unlock: '¿Desbloquear %{branch}?'
  confirm_yn: '[y] Desbloquear  [n/ESC] Cancelar'
  lvl_prefix: 'Niv'
  branch_primary_letters: 'Letras Primarias'
  branch_capital_letters: 'Letras Mayúsculas'
  branch_numbers: 'Números 0-9'
  branch_prose_punctuation: 'Puntuación de Prosa'
  branch_whitespace: 'Espacios en Blanco'
  branch_code_symbols: 'Símbolos de Código'
  level_frequency_order: 'Orden por Frecuencia'
  level_common_sentence_capitals: 'Mayúsculas Comunes de Oración'
  level_name_capitals: 'Mayúsculas de Nombres'
  level_remaining_capitals: 'Mayúsculas Restantes'
  level_common_digits: 'Dígitos Comunes'
  level_all_digits: 'Todos los Dígitos'
  level_essential: 'Esencial'
  level_common: 'Común'
  level_expressive: 'Expresivo'
  level_enter_return: 'Enter/Retorno'
  level_tab_indent: 'Tab/Sangría'
  level_arithmetic_assignment: 'Aritmética y Asignación'
  level_grouping: 'Agrupación'
  level_logic_reference: 'Lógica y Referencia'
  level_special: 'Especial'

# Hitos
milestones:
  unlock_title: ' ¡Tecla Desbloqueada! '
  mastery_title: ' ¡Tecla Dominada! '
  branches_title: ' ¡Nuevas Ramas Disponibles! '
  branch_complete_title: ' ¡Rama Completada! '
  all_unlocked_title: ' ¡Todas las Teclas Desbloqueadas! '
  all_mastered_title: ' ¡Dominio Total del Teclado! '
  unlocked: 'desbloqueada'
  mastered: 'dominada'
  use_finger: 'Usa tu dedo %{finger}'
  hold_right_shift: 'Mantén Shift Derecho (meñique derecho)'
  hold_left_shift: 'Mantén Shift Izquierdo (meñique izquierdo)'
  congratulations_all_letters: '¡Felicidades! Has dominado las %{count} letras primarias'
  new_branches_available: 'Nuevas ramas de habilidades están disponibles:'
  visit_skill_tree: 'Visita el Árbol de Habilidades para desbloquear una nueva rama'
  and_start_training: '¡y empieza a entrenar!'
  open_skill_tree: 'Presiona [t] para abrir el Árbol de Habilidades'
  branch_complete_msg: '¡Has completado la rama %{branch}!'
  all_levels_mastered: 'Los %{count} niveles dominados.'
  all_keys_confident: 'Cada tecla en esta rama está a máxima confianza.'
  all_unlocked_msg: '¡Has desbloqueado todas las teclas del teclado!'
  all_unlocked_desc: 'Cada carácter, símbolo y modificador está disponible en tus ejercicios.'
  keep_practicing_mastery: 'Sigue practicando para alcanzar el dominio — cuando cada tecla llegue a'
  confidence_complete: 'máxima confianza, ¡habrás logrado el dominio total del teclado!'
  all_mastered_msg: '¡Felicidades — has alcanzado el dominio total del teclado!'
  all_mastered_desc: 'Cada tecla del teclado está a máxima confianza.'
  mastery_takes_practice: 'El dominio no es un destino — requiere práctica continua.'
  keep_drilling: 'Sigue practicando para mantener tu nivel.'
  hint_skill_tree_continue: '[t] Abrir Árbol de Habilidades  [Otra tecla] Continuar'
  hint_any_key: 'Presiona cualquier tecla para continuar'
  input_blocked: 'Entrada bloqueada temporalmente (%{ms}ms restantes)'
  unlock_msg_1: '¡Buen trabajo! Sigue mejorando tus habilidades.'
  unlock_msg_2: '¡Otra tecla añadida a tu arsenal!'
  unlock_msg_3: '¡Tu teclado crece! Sigue así.'
  unlock_msg_4: '¡Un paso más cerca del dominio total!'
  mastery_msg_1: '¡Esta tecla está a máxima confianza!'
  mastery_msg_2: '¡Dominas esta tecla a la perfección!'
  mastery_msg_3: '¡Memoria muscular asegurada!'
  mastery_msg_4: '¡Una tecla más conquistada!'

# Explorador de teclado
keyboard:
  title: ' Teclado '
  subtitle: 'Presiona o haz clic en una tecla'
  hint_navigate: '[←→↑↓/hjkl/Tab] Navegar'
  hint_back: '[q/ESC] Volver'
  key_label: 'Tecla: '
  finger_label: 'Dedo: '
  hand_left: 'Izquierda'
  hand_right: 'Derecha'
  finger_index: 'Índice'
  finger_middle: 'Medio'
  finger_ring: 'Anular'
  finger_pinky: 'Meñique'
  finger_thumb: 'Pulgar'
  overall_accuracy: '  Precisión general: %{correct}/%{total} (%{pct}%%)'
  ranked_accuracy: '  Precisión clasificada: %{correct}/%{total} (%{pct}%%)'
  confidence: 'Confianza: '
  no_data: 'Sin datos aún'
  no_data_short: 'Sin datos'
  key_details: ' Detalles de Tecla '
  key_details_char: ' Detalles de Tecla: ''%{ch}'' '
  key_details_name: ' Detalles de Tecla: %{name} '
  press_key_hint: 'Presiona una tecla para ver sus detalles'
  shift_label: 'Shift: '
  shift_no: 'No'
  overall_avg_time: 'Tiempo Prom. General: '
  overall_best_time: 'Mejor Tiempo General: '
  overall_samples: 'Muestras Generales: '
  overall_accuracy_label: 'Precisión General: '
  branch_label: 'Rama: '
  level_label: 'Nivel: '
  built_in_key: 'Tecla Integrada'
  unlocked_label: 'Desbloqueada: '
  yes: 'Sí'
  no: 'No'
  in_focus_label: '¿En Foco?: '
  mastery_label: 'Dominio: '
  mastery_locked: 'Bloqueado'
  ranked_avg_time: 'Tiempo Prom. Clasificado: '
  ranked_best_time: 'Mejor Tiempo Clasificado: '
  ranked_samples: 'Muestras Clasificadas: '
  ranked_accuracy_label: 'Precisión Clasificada: '

# Diálogos de introducción
intro:
  passage_title: ' Configurar Descarga de Pasajes '
  code_title: ' Configurar Descarga de Código '
  enable_downloads: 'Activar descargas de red'
  download_dir: 'Directorio de descarga'
  paragraphs_per_book: 'Párrafos por libro (0 = completo)'
  whole_book: 'libro completo'
  snippets_per_repo: 'Fragmentos por repo (0 = ilimitado)'
  unlimited: 'ilimitado'
  start_passage_drill: 'Iniciar ejercicio de pasaje'
  start_code_drill: 'Iniciar ejercicio de código'
  confirm: 'Confirmar'
  hint_navigate: '[Up/Down] Navegar'
  hint_adjust: '[Left/Right] Ajustar'
  hint_edit: '[Type/Backspace] Editar'
  hint_confirm: '[Enter] Confirmar'
  hint_cancel: '[ESC] Cancelar'
  preparing_download: 'Preparando descarga...'
  download_passage_title: ' Descargando Fuente de Pasaje '
  download_code_title: ' Descargando Fuente de Código '
  book_label: ' Libro: %{name}'
  repo_label: ' Repo: %{name}'
  progress_bytes: '[%{name}] %{downloaded}/%{total}  bytes'
  downloaded_bytes: 'Descargado: %{bytes} bytes'
  downloading_book_progress: 'Descargando libro actual: [%{bar}] %{downloaded}/%{total} bytes'
  downloading_book_bytes: 'Descargando libro actual: %{bytes} bytes'
  downloading_code_progress: 'Descargando: [%{bar}] %{downloaded}/%{total} bytes'
  downloading_code_bytes: 'Descargando: %{bytes} bytes'
  current_book: 'Actual: %{name}  (libro %{done}/%{total})'
  current_repo: 'Actual: %{name}  (repo %{done}/%{total})'
  passage_instructions_1: 'keydr puede descargar pasajes de Project Gutenberg para práctica de escritura.'
  passage_instructions_2: 'Los libros se descargan una vez y se almacenan localmente.'
  passage_instructions_3: 'Configura los ajustes de descarga abajo, luego inicia un ejercicio de pasaje.'
  code_instructions_1: 'keydr puede descargar código abierto de GitHub para práctica de escritura.'
  code_instructions_2: 'El código se descarga una vez y se almacena localmente.'
  code_instructions_3: 'Configura los ajustes de descarga abajo, luego inicia un ejercicio de código.'

# Mensajes de estado (de app.rs)
status:
  recovery_files: 'Se encontraron archivos de recuperación de una importación interrumpida. Los datos pueden ser inconsistentes — considera reimportar.'
  dir_not_exist: 'El directorio no existe: %{path}'
  no_data_store: 'No hay almacén de datos disponible'
  serialization_error: 'Error de serialización: %{error}'
  exported_to: 'Exportado a %{path}'
  export_failed: 'Exportación fallida: %{error}'
  could_not_read: 'No se pudo leer el archivo: %{error}'
  invalid_export: 'Archivo de exportación inválido: %{error}'
  unsupported_version: 'Versión de exportación no soportada: %{got} (se esperaba %{expected})'
  import_failed: 'Importación fallida: %{error}'
  imported_theme_fallback: 'Importado exitosamente (tema ''%{theme}'' no encontrado, usando predeterminado)'
  imported_success: 'Importado exitosamente'
  adaptive_unavailable: 'Modo adaptativo clasificado no disponible: %{error}'
  switched_to: 'Cambiado a %{name}'
  layout_changed: 'Distribución cambiada a %{name}'

# Errores (para traducción de límites de UI)
errors:
  unknown_language: 'Idioma desconocido: %{key}'
  unknown_layout: 'Distribución de teclado desconocida: %{key}'
  unsupported_pair: 'Par idioma/distribución no soportado: %{language} + %{layout}'
  language_blocked: 'Idioma bloqueado por nivel de soporte: %{key}'

# Común
common:
  wpm: 'WPM'
  cpm: 'CPM'
  back: 'Volver'
