Add full set of locale translations
Generated using Claude Code / Codex so there may be errors
This commit is contained in:
457
locales/es.yml
Normal file
457
locales/es.yml
Normal file
@@ -0,0 +1,457 @@
|
||||
# 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'
|
||||
Reference in New Issue
Block a user