# 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}' tri_label: ' | Tri: %{count}' hes_label: ' | Hes: >%{ms}ms' gain_label: ' | Gan: %{value}' gain_interval: ' (cada 50)' 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'