Add adaptive drill intro, refactor key hints

This commit is contained in:
2026-04-17 20:35:23 +00:00
parent f855fa5606
commit b5ba61a3a3
29 changed files with 1611 additions and 1165 deletions

View File

@@ -17,12 +17,12 @@ menu:
settings_desc: 'Configure keydr'
day_streak: ' | %{days} day streak'
key_progress: ' Key Progress %{unlocked}/%{total} (%{mastered} mastered) | Target %{target} WPM%{streak}'
hint_start: '[1-3] Start'
hint_skill_tree: '[t] Skill Tree'
hint_keyboard: '[b] Keyboard'
hint_stats: '[s] Stats'
hint_settings: '[c] Settings'
hint_quit: '[q] Quit'
hint_start: 'Start'
hint_skill_tree: 'Skill Tree'
hint_keyboard: 'Keyboard'
hint_stats: 'Stats'
hint_settings: 'Settings'
hint_quit: 'Quit'
# Drill screen
drill:
@@ -40,8 +40,8 @@ drill:
passage_source: ' Passage source '
footer: '[ESC] End drill [Backspace] Delete'
keys_reenabled: 'Keys re-enabled in %{ms}ms'
hint_end: '[ESC] End drill'
hint_backspace: '[Backspace] Delete'
hint_end: 'End drill'
hint_backspace: 'Delete'
# Dashboard / drill result
dashboard:
@@ -56,11 +56,11 @@ dashboard:
correct_detail: ' (%{correct}/%{total} correct)'
input_blocked: ' Input temporarily blocked '
input_blocked_ms: '(%{ms}ms remaining)'
hint_continue: '[c/Enter/Space] Continue'
hint_retry: '[r] Retry'
hint_menu: '[q] Menu'
hint_stats: '[s] Stats'
hint_delete: '[x] Delete'
hint_continue: 'Continue'
hint_retry: 'Retry'
hint_menu: 'Menu'
hint_stats: 'Stats'
hint_delete: 'Delete'
# Stats sidebar (during drill)
sidebar:
@@ -86,12 +86,12 @@ stats:
tab_accuracy: '[4] Accuracy'
tab_timing: '[5] Timing'
tab_ngrams: '[6] N-grams'
hint_back: '[ESC] Back'
hint_next_tab: '[Tab] Next tab'
hint_switch_tab: '[1-6] Switch tab'
hint_navigate: '[j/k] Navigate'
hint_page: '[PgUp/PgDn] Page'
hint_delete: '[x] Delete'
hint_back: 'Back'
hint_next_tab: 'Next tab'
hint_switch_tab: 'Switch tab'
hint_navigate: 'Navigate'
hint_page: 'Page'
hint_delete: 'Delete'
summary_title: ' Summary '
drills: ' Drills: '
avg_wpm: ' Avg WPM: '
@@ -200,13 +200,13 @@ settings:
import_path: 'Import Path'
import_data: 'Import Data'
import_now: 'Import now'
hint_save_back: '[ESC] Save & back'
hint_change_value: '[Enter/arrows] Change value'
hint_edit_path: '[Enter on path] Edit'
hint_move: '[←→] Move'
hint_tab_complete: '[Tab] Complete (at end)'
hint_confirm: '[Enter] Confirm'
hint_cancel: '[Esc] Cancel'
hint_save_back: 'Save & back'
hint_change_value: 'Change value'
hint_edit_path: 'Edit'
hint_move: 'Move'
hint_tab_complete: 'Complete (at end)'
hint_confirm: 'Confirm'
hint_cancel: 'Cancel'
success_title: ' Success '
error_title: ' Error '
press_any_key: 'Press any key'
@@ -236,9 +236,9 @@ select:
cached: ' (cached)'
disabled_download: ' (disabled: download required)'
download_required: ' (download required)'
hint_navigate: '[Up/Down/PgUp/PgDn] Navigate'
hint_confirm: '[Enter] Confirm'
hint_back: '[ESC] Back'
hint_navigate: 'Navigate'
hint_confirm: 'Confirm'
hint_back: 'Back'
language_resets_layout: 'Selecting a language resets keyboard layout to that language''s default.'
layout_no_language_change: 'Layout changes do not change dictionary language.'
disabled_network_notice: 'Some languages are disabled: enable network downloads in intro/settings.'
@@ -267,11 +267,11 @@ skill_tree:
level: 'Level %{current}/%{total}'
level_zero: 'Level 0/%{total}'
in_focus: ' in focus'
hint_navigate: '[↑↓/jk] Navigate'
hint_scroll: '[PgUp/PgDn or Ctrl+U/Ctrl+D] Scroll'
hint_back: '[q] Back'
hint_unlock: '[Enter] Unlock'
hint_start_drill: '[Enter] Start Drill'
hint_navigate: 'Navigate'
hint_scroll: 'Scroll'
hint_back: 'Back'
hint_unlock: 'Unlock'
hint_start_drill: 'Start Drill'
unlock_msg_1: 'Once unlocked, the default adaptive drill will mix in keys in this branch that are unlocked.'
unlock_msg_2: 'If you want to focus only on this branch, launch a drill directly from this branch in the Skill Tree.'
confirm_unlock: 'Unlock %{branch}?'
@@ -328,7 +328,7 @@ milestones:
all_mastered_desc: 'Every key on the keyboard is at maximum confidence.'
mastery_takes_practice: 'Mastery is not a destination — it takes ongoing practice.'
keep_drilling: 'Keep drilling to maintain your edge.'
hint_skill_tree_continue: '[t] Open Skill Tree [Any other key] Continue'
hint_skill_tree_continue: 'Open Skill Tree [Any other key] Continue'
hint_any_key: 'Press any key to continue'
input_blocked: 'Input temporarily blocked (%{ms}ms remaining)'
unlock_msg_1: 'Nice work! Keep building your typing skills.'
@@ -340,12 +340,24 @@ milestones:
mastery_msg_3: 'Muscle memory locked in!'
mastery_msg_4: 'One more key conquered!'
# Adaptive drill intro overlay
adaptive_intro:
title: ' Welcome to Adaptive Drill! '
how_it_works: 'How adaptive drills work:'
desc_start: 'You start with a small set of the most common letters unlocked.'
desc_progress: 'As you type them with confidence, new keys are gradually'
desc_expand: 'unlocked until you''ve mastered the full keyboard.'
target_wpm_label: 'Target WPM:'
target_wpm_desc: 'This affects how quickly keys unlock — higher targets require'
target_wpm_default: 'faster typing. 35 WPM is a good starting point if unsure.'
hint: '[←→] Adjust WPM [Enter/Space] Start drilling'
# Keyboard explorer
keyboard:
title: ' Keyboard '
subtitle: 'Press any key or click a key'
hint_navigate: '[←→↑↓/hjkl/Tab] Navigate'
hint_back: '[q/ESC] Back'
hint_navigate: 'Navigate'
hint_back: 'Back'
key_label: 'Key: '
finger_label: 'Finger: '
hand_left: 'Left'
@@ -397,11 +409,11 @@ intro:
start_passage_drill: 'Start passage drill'
start_code_drill: 'Start code drill'
confirm: 'Confirm'
hint_navigate: '[Up/Down] Navigate'
hint_adjust: '[Left/Right] Adjust'
hint_edit: '[Type/Backspace] Edit'
hint_confirm: '[Enter] Confirm'
hint_cancel: '[ESC] Cancel'
hint_navigate: 'Navigate'
hint_adjust: 'Adjust'
hint_edit: 'Edit'
hint_confirm: 'Confirm'
hint_cancel: 'Cancel'
preparing_download: 'Preparing download...'
download_passage_title: ' Downloading Passage Source '
download_code_title: ' Downloading Code Source '