diff --git a/locales/cs.yml b/locales/cs.yml index ce7a7e6..f780722 100644 --- a/locales/cs.yml +++ b/locales/cs.yml @@ -342,15 +342,14 @@ milestones: # Adaptive drill intro overlay adaptive_intro: - title: ' Vitejte v Adaptivnim cviceni! ' + title: ' Vitejte v keydr! ' how_it_works: 'Jak funguje adaptivni cviceni:' - desc_start: 'Zacinas s malou sadou nejbeznejsich pismen.' - desc_progress: 'Jak je pises s jistotou, nove klavesy jsou postupne' - desc_expand: 'odemykany, az zvladnes celou klavesnici.' + description: 'Zacinas s malou sadou nejbeznejsich odemcenych pismen. Cviceni generuje pouze slova, ktera pouzivaji tato pismena. Jak je pises s jistotou, nove klavesy jsou postupne odemykany, az zvladnes celou klavesnici.' target_wpm_label: 'Cilovy WPM:' - target_wpm_desc: 'Ovlivnuje rychlost odemykani — vyssi cile vyzaduji' - target_wpm_default: 'rychlejsi psani. 35 WPM je dobry vychozi bod.' - hint: '[←→] Upravit WPM [Enter/Space] Spustit cviceni' + target_wpm_desc: 'Ovlivnuje rychlost odemykani klaves — vyssi cile vyzaduji rychlejsi psani. 35 WPM je dobry vychozi bod, pokud si nejsi jisty. Toto muzes kdykoli zmenit v nastaveni.' + hint_adjust: 'Upravit WPM' + hint_start: 'Spustit cviceni' + hint_back: 'Hlavni menu' # Keyboard explorer keyboard: diff --git a/locales/da.yml b/locales/da.yml index eafe45c..63b19d9 100644 --- a/locales/da.yml +++ b/locales/da.yml @@ -342,15 +342,14 @@ milestones: # Adaptive drill intro overlay adaptive_intro: - title: ' Velkommen til Adaptiv oevelse! ' + title: ' Velkommen til keydr! ' how_it_works: 'Saadan fungerer adaptive oevelser:' - desc_start: 'Du starter med et lille saet af de mest almindelige bogstaver laast op.' - desc_progress: 'Naar du skriver dem med selvtillid, laases nye taster gradvist' - desc_expand: 'op, indtil du har mestret hele tastaturet.' + description: 'Du starter med et lille saet af de mest almindelige bogstaver laast op. Oevelsen genererer kun ord, der bruger disse bogstaver. Naar du skriver dem med selvtillid, laases nye taster gradvist op, indtil du har mestret hele tastaturet.' target_wpm_label: 'Maal-WPM:' - target_wpm_desc: 'Dette paavirker hvor hurtigt taster laases op — hoejere maal kraever' - target_wpm_default: 'hurtigere skrivning. 35 WPM er et godt udgangspunkt, hvis du er usikker.' - hint: '[←→] Juster WPM [Enter/Space] Start oevelse' + target_wpm_desc: 'Dette paavirker hvor hurtigt taster laases op — hoejere maal kraever hurtigere skrivning. 35 WPM er et godt udgangspunkt, hvis du er usikker. Du kan altid aendre dette senere i indstillingerne.' + hint_adjust: 'Juster WPM' + hint_start: 'Start oevelse' + hint_back: 'Hovedmenu' # Keyboard explorer keyboard: diff --git a/locales/de.yml b/locales/de.yml index 0dd2d09..f9d9483 100644 --- a/locales/de.yml +++ b/locales/de.yml @@ -342,15 +342,14 @@ milestones: # Adaptive drill intro overlay adaptive_intro: - title: ' Willkommen zur Adaptiven Lektion! ' + title: ' Willkommen bei keydr! ' how_it_works: 'Wie adaptive Lektionen funktionieren:' - desc_start: 'Du startest mit einer kleinen Auswahl der haeufigsten Buchstaben.' - desc_progress: 'Je sicherer du sie tippst, desto mehr neue Tasten werden' - desc_expand: 'schrittweise freigeschaltet, bis du die ganze Tastatur beherrschst.' + description: 'Du startest mit einer kleinen Auswahl der haeufigsten Buchstaben. Die Lektion generiert nur Woerter, die diese Buchstaben verwenden. Je sicherer du sie tippst, desto mehr neue Tasten werden schrittweise freigeschaltet, bis du die ganze Tastatur beherrschst.' target_wpm_label: 'Ziel-WPM:' - target_wpm_desc: 'Dies beeinflusst, wie schnell Tasten freigeschaltet werden — hoehere Ziele erfordern' - target_wpm_default: 'schnelleres Tippen. 35 WPM ist ein guter Ausgangspunkt, falls unsicher.' - hint: '[←→] WPM anpassen [Enter/Space] Lektion starten' + target_wpm_desc: 'Dies beeinflusst, wie schnell Tasten freigeschaltet werden — hoehere Ziele erfordern schnelleres Tippen. 35 WPM ist ein guter Ausgangspunkt, falls unsicher. Du kannst dies spaeter jederzeit in den Einstellungen aendern.' + hint_adjust: 'WPM anpassen' + hint_start: 'Lektion starten' + hint_back: 'Hauptmenue' # Keyboard explorer keyboard: diff --git a/locales/en.yml b/locales/en.yml index c293d5a..51ebd51 100644 --- a/locales/en.yml +++ b/locales/en.yml @@ -342,15 +342,14 @@ milestones: # Adaptive drill intro overlay adaptive_intro: - title: ' Welcome to Adaptive Drill! ' + title: ' Welcome to keydr! ' 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.' + description: 'You start with a small set of the most common letters unlocked. The drill only generates words that use these letters. As you type them with confidence, new keys are gradually 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' + target_wpm_desc: 'This affects how quickly keys unlock — higher targets require faster typing. 35 WPM is a good starting point if unsure. You can always change this later in settings.' + hint_adjust: 'Adjust WPM' + hint_start: 'Start drilling' + hint_back: 'Main menu' # Keyboard explorer keyboard: diff --git a/locales/es.yml b/locales/es.yml index 47c448c..9884fff 100644 --- a/locales/es.yml +++ b/locales/es.yml @@ -342,15 +342,14 @@ milestones: # Superposición de introducción al ejercicio adaptativo adaptive_intro: - title: ' ¡Bienvenido al Ejercicio Adaptativo! ' + title: ' ¡Bienvenido a keydr! ' how_it_works: 'Cómo funcionan los ejercicios adaptativos:' - desc_start: 'Comienzas con un pequeño conjunto de las letras más comunes desbloqueadas.' - desc_progress: 'A medida que las escribes con confianza, nuevas teclas se desbloquean gradualmente' - desc_expand: 'hasta que dominas el teclado completo.' + description: 'Comienzas con un pequeño conjunto de las letras más comunes desbloqueadas. El ejercicio solo genera palabras que usan estas letras. A medida que las escribes con confianza, nuevas teclas se desbloquean gradualmente hasta que dominas el teclado completo.' target_wpm_label: 'WPM Objetivo:' - target_wpm_desc: 'Esto afecta la velocidad con que se desbloquean las teclas — objetivos más altos requieren' - target_wpm_default: 'escritura más rápida. 35 WPM es un buen punto de partida si no estás seguro.' - hint: '[←→] Ajustar WPM [Enter/Space] Comenzar ejercicio' + target_wpm_desc: 'Esto afecta la velocidad con que se desbloquean las teclas — objetivos más altos requieren escritura más rápida. 35 WPM es un buen punto de partida si no estás seguro. Siempre puedes cambiar esto más tarde en la configuración.' + hint_adjust: 'Ajustar WPM' + hint_start: 'Comenzar ejercicio' + hint_back: 'Menú principal' # Explorador de teclado keyboard: diff --git a/locales/et.yml b/locales/et.yml index 7b25c2b..273c71a 100644 --- a/locales/et.yml +++ b/locales/et.yml @@ -342,15 +342,14 @@ milestones: # Kohanduva harjutuse sissejuhatuse ülekate adaptive_intro: - title: ' Tere tulemast Kohanduvasse harjutusse! ' + title: ' Tere tulemast keydri! ' how_it_works: 'Kuidas kohanduvad harjutused toimivad:' - desc_start: 'Alustad väikese hulga kõige levinumate tähtedega.' - desc_progress: 'Kui trükid neid kindlalt, avatakse uued klahvid järk-järgult' - desc_expand: 'kuni oled omandanud kogu klaviatuuri.' + description: 'Alustad väikese hulga kõige levinumate tähtedega. Harjutus genereerib ainult sõnu, mis kasutavad neid tähti. Kui trükid neid kindlalt, avatakse uued klahvid järk-järgult, kuni oled omandanud kogu klaviatuuri.' target_wpm_label: 'Siht-WPM:' - target_wpm_desc: 'See mõjutab klahvide avamise kiirust — kõrgemad sihid nõuavad' - target_wpm_default: 'kiiremat trükkimist. 35 WPM on hea lähtepunkt, kui pole kindel.' - hint: '[←→] Kohanda WPM [Enter/Space] Alusta harjutust' + target_wpm_desc: 'See mõjutab klahvide avamise kiirust — kõrgemad sihid nõuavad kiiremat trükkimist. 35 WPM on hea lähtepunkt, kui pole kindel. Saad seda alati hiljem seadetes muuta.' + hint_adjust: 'Kohanda WPM' + hint_start: 'Alusta harjutust' + hint_back: 'Peamenüü' # Klaviatuuri uurija keyboard: diff --git a/locales/fi.yml b/locales/fi.yml index 0e9bfc5..aa3ac5f 100644 --- a/locales/fi.yml +++ b/locales/fi.yml @@ -342,15 +342,14 @@ milestones: # Adaptive drill intro overlay adaptive_intro: - title: ' Tervetuloa Mukautuvaan harjoitukseen! ' + title: ' Tervetuloa keydriin! ' how_it_works: 'Miten mukautuvat harjoitukset toimivat:' - desc_start: 'Aloitat pienellä joukolla yleisimpiä kirjaimia avattuna.' - desc_progress: 'Kun kirjoitat niitä varmasti, uusia näppäimiä avataan vähitellen' - desc_expand: 'kunnes olet hallinnut koko näppäimistön.' + description: 'Aloitat pienellä joukolla yleisimpiä kirjaimia avattuna. Harjoitus tuottaa vain sanoja, jotka käyttävät näitä kirjaimia. Kun kirjoitat niitä varmasti, uusia näppäimiä avataan vähitellen, kunnes olet hallinnut koko näppäimistön.' target_wpm_label: 'Tavoite-WPM:' - target_wpm_desc: 'Tämä vaikuttaa näppäinten avausnopeuteen — korkeammat tavoitteet vaativat' - target_wpm_default: 'nopeampaa kirjoittamista. 35 WPM on hyvä lähtökohta, jos et ole varma.' - hint: '[←→] Säädä WPM [Enter/Space] Aloita harjoitus' + target_wpm_desc: 'Tämä vaikuttaa näppäinten avausnopeuteen — korkeammat tavoitteet vaativat nopeampaa kirjoittamista. 35 WPM on hyvä lähtökohta, jos et ole varma. Voit aina muuttaa tätä myöhemmin asetuksissa.' + hint_adjust: 'Säädä WPM' + hint_start: 'Aloita harjoitus' + hint_back: 'Päävalikko' # Keyboard explorer keyboard: diff --git a/locales/fr.yml b/locales/fr.yml index 4fe3a67..e540a5f 100644 --- a/locales/fr.yml +++ b/locales/fr.yml @@ -342,15 +342,14 @@ milestones: # Superposition d'introduction à l'exercice adaptatif adaptive_intro: - title: ' Bienvenue dans l''Exercice Adaptatif ! ' + title: ' Bienvenue sur keydr ! ' how_it_works: 'Comment fonctionnent les exercices adaptatifs :' - desc_start: 'Vous commencez avec un petit ensemble des lettres les plus courantes déverrouillées.' - desc_progress: 'Au fur et à mesure que vous les tapez avec confiance, de nouvelles touches se déverrouillent progressivement' - desc_expand: 'jusqu''à ce que vous ayez maîtrisé le clavier complet.' + description: 'Vous commencez avec un petit ensemble des lettres les plus courantes déverrouillées. L''exercice ne génère que des mots qui utilisent ces lettres. Au fur et à mesure que vous les tapez avec confiance, de nouvelles touches se déverrouillent progressivement jusqu''à ce que vous ayez maîtrisé le clavier complet.' target_wpm_label: 'WPM Objectif :' - target_wpm_desc: 'Cela influence la vitesse de déverrouillage des touches — des objectifs plus élevés nécessitent' - target_wpm_default: 'une frappe plus rapide. 35 WPM est un bon point de départ si vous n''êtes pas sûr.' - hint: '[←→] Régler WPM [Enter/Space] Commencer l''exercice' + target_wpm_desc: 'Cela influence la vitesse de déverrouillage des touches — des objectifs plus élevés nécessitent une frappe plus rapide. 35 WPM est un bon point de départ si vous n''êtes pas sûr. Vous pouvez toujours modifier cela plus tard dans les paramètres.' + hint_adjust: 'Régler WPM' + hint_start: 'Commencer l''exercice' + hint_back: 'Menu principal' # Explorateur de clavier keyboard: diff --git a/locales/hr.yml b/locales/hr.yml index 837f0cf..dce9cd5 100644 --- a/locales/hr.yml +++ b/locales/hr.yml @@ -342,15 +342,14 @@ milestones: # Uvodni prekrivač prilagodljive vježbe adaptive_intro: - title: ' Dobrodošli u Prilagodljivu Vježbu! ' + title: ' Dobrodošli u keydr! ' how_it_works: 'Kako funkcioniraju prilagodljive vježbe:' - desc_start: 'Počinjete s malim skupom najčešćih slova koja su otključana.' - desc_progress: 'Kako ih tipkate s pouzdanošću, nove tipke se postupno' - desc_expand: 'otključavaju dok ne savladate cijelu tipkovnicu.' + description: 'Počinjete s malim skupom najčešćih slova koja su otključana. Vježba generira samo riječi koje koriste ta slova. Kako ih tipkate s pouzdanošću, nove tipke se postupno otključavaju dok ne savladate cijelu tipkovnicu.' target_wpm_label: 'Ciljni WPM:' - target_wpm_desc: 'Ovo utječe na brzinu otključavanja tipki — viši ciljevi zahtijevaju' - target_wpm_default: 'brže tipkanje. 35 WPM je dobro polazište ako niste sigurni.' - hint: '[←→] Podesi WPM [Enter/Space] Počni vježbu' + target_wpm_desc: 'Ovo utječe na brzinu otključavanja tipki — viši ciljevi zahtijevaju brže tipkanje. 35 WPM je dobro polazište ako niste sigurni. To uvijek možete promijeniti kasnije u postavkama.' + hint_adjust: 'Podesi WPM' + hint_start: 'Počni vježbu' + hint_back: 'Glavni izbornik' # Keyboard explorer keyboard: diff --git a/locales/hu.yml b/locales/hu.yml index 7ebaf81..df1fbe2 100644 --- a/locales/hu.yml +++ b/locales/hu.yml @@ -342,15 +342,14 @@ milestones: # Adaptív gyakorlat bevezető felugró adaptive_intro: - title: ' Üdvözöljük az Adaptív Gyakorlatban! ' + title: ' Üdvözöljük a keydr-ben! ' how_it_works: 'Hogyan működnek az adaptív gyakorlatok:' - desc_start: 'A leggyakoribb betűk egy kis készletével kezd, amelyek fel vannak oldva.' - desc_progress: 'Ahogy magabiztosan gépeli őket, az új billentyűk fokozatosan' - desc_expand: 'feloldódnak, amíg el nem sajátítja a teljes billentyűzetet.' + description: 'A leggyakoribb betűk egy kis készletével kezd, amelyek fel vannak oldva. A gyakorlat csak olyan szavakat generál, amelyek ezeket a betűket használják. Ahogy magabiztosan gépeli őket, az új billentyűk fokozatosan feloldódnak, amíg el nem sajátítja a teljes billentyűzetet.' target_wpm_label: 'Cél WPM:' - target_wpm_desc: 'Ez befolyásolja a billentyűk feloldásának sebességét — magasabb célok' - target_wpm_default: 'gyorsabb gépelést igényelnek. 35 WPM jó kiindulópont, ha bizonytalan.' - hint: '[←→] WPM beállítása [Enter/Space] Gyakorlat indítása' + target_wpm_desc: 'Ez befolyásolja a billentyűk feloldásának sebességét — magasabb célok gyorsabb gépelést igényelnek. 35 WPM jó kiindulópont, ha bizonytalan. Ezt később bármikor módosíthatja a beállításokban.' + hint_adjust: 'WPM beállítása' + hint_start: 'Gyakorlat indítása' + hint_back: 'Főmenü' # Keyboard explorer keyboard: diff --git a/locales/it.yml b/locales/it.yml index 99a1e9a..f5e9943 100644 --- a/locales/it.yml +++ b/locales/it.yml @@ -342,15 +342,14 @@ milestones: # Sovrapposizione introduzione esercizio adattivo adaptive_intro: - title: ' Benvenuto nell''Esercizio Adattivo! ' + title: ' Benvenuto su keydr! ' how_it_works: 'Come funzionano gli esercizi adattivi:' - desc_start: 'Inizi con un piccolo insieme delle lettere più comuni sbloccate.' - desc_progress: 'Man mano che le digiti con sicurezza, nuovi tasti vengono gradualmente' - desc_expand: 'sbloccati finché non hai padroneggiato la tastiera completa.' + description: 'Inizi con un piccolo insieme delle lettere più comuni sbloccate. L''esercizio genera solo parole che usano queste lettere. Man mano che le digiti con sicurezza, nuovi tasti vengono gradualmente sbloccati finché non hai padroneggiato la tastiera completa.' target_wpm_label: 'WPM Obiettivo:' - target_wpm_desc: 'Questo influenza la velocità di sblocco dei tasti — obiettivi più alti richiedono' - target_wpm_default: 'una digitazione più veloce. 35 WPM è un buon punto di partenza se non sei sicuro.' - hint: '[←→] Regola WPM [Enter/Space] Inizia esercizio' + target_wpm_desc: 'Questo influenza la velocità di sblocco dei tasti — obiettivi più alti richiedono una digitazione più veloce. 35 WPM è un buon punto di partenza se non sei sicuro. Puoi sempre modificarlo più tardi nelle impostazioni.' + hint_adjust: 'Regola WPM' + hint_start: 'Inizia esercizio' + hint_back: 'Menu principale' # Esploratore tastiera keyboard: diff --git a/locales/lt.yml b/locales/lt.yml index 5bf7de9..0221d76 100644 --- a/locales/lt.yml +++ b/locales/lt.yml @@ -342,15 +342,14 @@ milestones: # Adaptive drill intro overlay adaptive_intro: - title: ' Sveiki atvykę į adaptyvias pratybas! ' + title: ' Sveiki atvykę į keydr! ' how_it_works: 'Kaip veikia adaptyvios pratybos:' - desc_start: 'Pradžioje atrakinamas nedidelis dažniausių raidžių rinkinys.' - desc_progress: 'Kai jas spausdinsite užtikrintai, nauji klavišai palaipsniui' - desc_expand: 'atrakinami, kol įvaldysite visą klaviatūrą.' + description: 'Pradžioje atrakinamas nedidelis dažniausių raidžių rinkinys. Pratybos generuoja tik žodžius, kurie naudoja šias raides. Kai jas spausdinsite užtikrintai, nauji klavišai palaipsniui atrakinami, kol įvaldysite visą klaviatūrą.' target_wpm_label: 'Tikslinis WPM:' - target_wpm_desc: 'Tai lemia, kaip greitai atrakinami klavišai — aukštesni tikslai reikalauja' - target_wpm_default: 'greitesnio spausdinimo. 35 WPM — gera pradžios vieta, jei nesate tikri.' - hint: '[←→] Reguliuoti WPM [Enter/Space] Pradėti pratybas' + target_wpm_desc: 'Tai lemia, kaip greitai atrakinami klavišai — aukštesni tikslai reikalauja greitesnio spausdinimo. 35 WPM — gera pradžios vieta, jei nesate tikri. Tai visada galite pakeisti vėliau nustatymuose.' + hint_adjust: 'Reguliuoti WPM' + hint_start: 'Pradėti pratybas' + hint_back: 'Pagrindinis meniu' # Keyboard explorer keyboard: diff --git a/locales/lv.yml b/locales/lv.yml index 24cc8bc..61d1ebc 100644 --- a/locales/lv.yml +++ b/locales/lv.yml @@ -342,15 +342,14 @@ milestones: # Adaptive drill intro overlay adaptive_intro: - title: ' Laipni lūdzam adaptīvajā vingrinājumā! ' + title: ' Laipni lūdzam keydr! ' how_it_works: 'Kā darbojas adaptīvie vingrinājumi:' - desc_start: 'Sākat ar nelielu visbiežāk lietoto burtu kopu.' - desc_progress: 'Kad rakstāt tos pārliecinoši, jauni taustiņi pakāpeniski' - desc_expand: 'tiek atbloķēti, līdz esat apguvis visu tastatūru.' + description: 'Sākat ar nelielu visbiežāk lietoto burtu kopu. Vingrinājums ģenerē tikai vārdus, kas izmanto šos burtus. Kad rakstāt tos pārliecinoši, jauni taustiņi pakāpeniski tiek atbloķēti, līdz esat apguvis visu tastatūru.' target_wpm_label: 'Mērķa WPM:' - target_wpm_desc: 'Tas ietekmē, cik ātri taustiņi tiek atbloķēti — augstāki mērķi prasa' - target_wpm_default: 'ātrāku rakstīšanu. 35 WPM ir labs sākumpunkts, ja neesat pārliecināts.' - hint: '[←→] Pielāgot WPM [Enter/Space] Sākt vingrinājumu' + target_wpm_desc: 'Tas ietekmē, cik ātri taustiņi tiek atbloķēti — augstāki mērķi prasa ātrāku rakstīšanu. 35 WPM ir labs sākumpunkts, ja neesat pārliecināts. Jūs vienmēr varat to mainīt vēlāk iestatījumos.' + hint_adjust: 'Pielāgot WPM' + hint_start: 'Sākt vingrinājumu' + hint_back: 'Galvenā izvēlne' # Keyboard explorer keyboard: diff --git a/locales/nb.yml b/locales/nb.yml index 5747d6f..fd67d3b 100644 --- a/locales/nb.yml +++ b/locales/nb.yml @@ -342,15 +342,14 @@ milestones: # Adaptive drill intro overlay adaptive_intro: - title: ' Velkommen til adaptiv oevelse! ' + title: ' Velkommen til keydr! ' how_it_works: 'Slik fungerer adaptive oevelser:' - desc_start: 'Du starter med et lite sett av de vanligste bokstavene laast opp.' - desc_progress: 'Etter hvert som du skriver dem med trygghet, laases nye taster gradvis' - desc_expand: 'opp til du har mestret hele tastaturet.' + description: 'Du starter med et lite sett av de vanligste bokstavene laast opp. Oevelsen genererer bare ord som bruker disse bokstavene. Etter hvert som du skriver dem med trygghet, laases nye taster gradvis opp til du har mestret hele tastaturet.' target_wpm_label: 'Maal-WPM:' - target_wpm_desc: 'Dette pavirker hvor raskt taster laases opp — hoyere maal krever' - target_wpm_default: 'raskere skriving. 35 WPM er et godt utgangspunkt hvis du er usikker.' - hint: '[←→] Juster WPM [Enter/Space] Start oevelse' + target_wpm_desc: 'Dette paavirker hvor raskt taster laases opp — hoeyere maal krever raskere skriving. 35 WPM er et godt utgangspunkt hvis du er usikker. Du kan alltid endre dette senere i innstillingene.' + hint_adjust: 'Juster WPM' + hint_start: 'Start oevelse' + hint_back: 'Hovedmeny' # Keyboard explorer keyboard: diff --git a/locales/nl.yml b/locales/nl.yml index 9dc9544..1e28b51 100644 --- a/locales/nl.yml +++ b/locales/nl.yml @@ -342,15 +342,14 @@ milestones: # Adaptive drill intro overlay adaptive_intro: - title: ' Welkom bij de adaptieve oefening! ' + title: ' Welkom bij keydr! ' how_it_works: 'Hoe adaptieve oefeningen werken:' - desc_start: 'Je begint met een kleine set van de meest voorkomende letters ontgrendeld.' - desc_progress: 'Naarmate je ze met vertrouwen typt, worden nieuwe toetsen geleidelijk' - desc_expand: 'ontgrendeld totdat je het volledige toetsenbord beheerst.' + description: 'Je begint met een kleine set van de meest voorkomende letters ontgrendeld. De oefening genereert alleen woorden die deze letters gebruiken. Naarmate je ze met vertrouwen typt, worden nieuwe toetsen geleidelijk ontgrendeld totdat je het volledige toetsenbord beheerst.' target_wpm_label: 'Doel-WPM:' - target_wpm_desc: 'Dit bepaalt hoe snel toetsen ontgrendelen — hogere doelen vereisen' - target_wpm_default: 'sneller typen. 35 WPM is een goed startpunt als je het niet zeker weet.' - hint: '[←→] WPM aanpassen [Enter/Space] Oefening starten' + target_wpm_desc: 'Dit bepaalt hoe snel toetsen ontgrendelen — hogere doelen vereisen sneller typen. 35 WPM is een goed startpunt als je het niet zeker weet. Je kunt dit later altijd wijzigen in de instellingen.' + hint_adjust: 'WPM aanpassen' + hint_start: 'Oefening starten' + hint_back: 'Hoofdmenu' # Keyboard explorer keyboard: diff --git a/locales/pl.yml b/locales/pl.yml index 84b0bff..c9e4b7a 100644 --- a/locales/pl.yml +++ b/locales/pl.yml @@ -342,15 +342,14 @@ milestones: # Adaptive drill intro overlay adaptive_intro: - title: ' Witaj w treningu adaptacyjnym! ' + title: ' Witaj w keydr! ' how_it_works: 'Jak dzialaja treningi adaptacyjne:' - desc_start: 'Zaczynasz z malym zestawem najczestszych liter odblokowanych.' - desc_progress: 'W miare jak piszesz je pewnie, nowe klawisze sa stopniowo' - desc_expand: 'odblokowywane, az opanujesz cala klawiature.' + description: 'Zaczynasz z malym zestawem najczestszych liter odblokowanych. Trening generuje tylko slowa, ktore uzywaja tych liter. W miare jak piszesz je pewnie, nowe klawisze sa stopniowo odblokowywane, az opanujesz cala klawiature.' target_wpm_label: 'Docelowy WPM:' - target_wpm_desc: 'Wplywa to na szybkosc odblokowywania klawiszy — wyzsze cele wymagaja' - target_wpm_default: 'szybszego pisania. 35 WPM to dobry punkt startowy, jesli nie jestes pewien.' - hint: '[←→] Dostosuj WPM [Enter/Space] Rozpocznij trening' + target_wpm_desc: 'Wplywa to na szybkosc odblokowywania klawiszy — wyzsze cele wymagaja szybszego pisania. 35 WPM to dobry punkt startowy, jesli nie jestes pewien. Zawsze mozesz to zmienic pozniej w ustawieniach.' + hint_adjust: 'Dostosuj WPM' + hint_start: 'Rozpocznij trening' + hint_back: 'Menu glowne' # Keyboard explorer keyboard: diff --git a/locales/pt.yml b/locales/pt.yml index 086b8a9..bd8d477 100644 --- a/locales/pt.yml +++ b/locales/pt.yml @@ -342,15 +342,14 @@ milestones: # Sobreposição de introdução ao exercício adaptativo adaptive_intro: - title: ' Bem-vindo ao Exercício Adaptativo! ' + title: ' Bem-vindo ao keydr! ' how_it_works: 'Como funcionam os exercícios adaptativos:' - desc_start: 'Você começa com um pequeno conjunto das letras mais comuns desbloqueadas.' - desc_progress: 'À medida que as digita com confiança, novas teclas são gradualmente' - desc_expand: 'desbloqueadas até você dominar o teclado completo.' + description: 'Você começa com um pequeno conjunto das letras mais comuns desbloqueadas. O exercício só gera palavras que usam essas letras. À medida que as digita com confiança, novas teclas são gradualmente desbloqueadas até você dominar o teclado completo.' target_wpm_label: 'WPM Alvo:' - target_wpm_desc: 'Isso afeta a velocidade com que as teclas são desbloqueadas — metas mais altas exigem' - target_wpm_default: 'digitação mais rápida. 35 WPM é um bom ponto de partida se não tiver certeza.' - hint: '[←→] Ajustar WPM [Enter/Space] Começar a praticar' + target_wpm_desc: 'Isso afeta a velocidade com que as teclas são desbloqueadas — metas mais altas exigem digitação mais rápida. 35 WPM é um bom ponto de partida se não tiver certeza. Você pode sempre alterar isso mais tarde nas configurações.' + hint_adjust: 'Ajustar WPM' + hint_start: 'Começar a praticar' + hint_back: 'Menu principal' # Explorador de teclado keyboard: diff --git a/locales/ro.yml b/locales/ro.yml index 79292ea..c32bfef 100644 --- a/locales/ro.yml +++ b/locales/ro.yml @@ -342,15 +342,14 @@ milestones: # Suprapunere introducere exercitiu adaptiv adaptive_intro: - title: ' Bine ai venit la exercitiul adaptiv! ' + title: ' Bine ai venit la keydr! ' how_it_works: 'Cum functioneaza exercitiile adaptive:' - desc_start: 'Incepi cu un set mic de litere comune deblocate.' - desc_progress: 'Pe masura ce le tastezi cu incredere, taste noi sunt deblocate treptat' - desc_expand: 'pana cand stapanesti tastatura completa.' + description: 'Incepi cu un set mic de litere comune deblocate. Exercitiul genereaza doar cuvinte care folosesc aceste litere. Pe masura ce le tastezi cu incredere, taste noi sunt deblocate treptat pana cand stapanesti tastatura completa.' target_wpm_label: 'WPM tinta:' - target_wpm_desc: 'Aceasta afecteaza viteza de deblocare a tastelor — tinte mai mari necesita' - target_wpm_default: 'tastare mai rapida. 35 WPM este un punct bun de start daca nu esti sigur.' - hint: '[←→] Ajusteaza WPM [Enter/Space] Incepe exercitiul' + target_wpm_desc: 'Aceasta afecteaza viteza de deblocare a tastelor — tinte mai mari necesita tastare mai rapida. 35 WPM este un punct bun de start daca nu esti sigur. Poti modifica oricand aceasta valoare mai tarziu in setari.' + hint_adjust: 'Ajusteaza WPM' + hint_start: 'Incepe exercitiul' + hint_back: 'Meniu principal' # Keyboard explorer keyboard: diff --git a/locales/sl.yml b/locales/sl.yml index 1ca9121..ed4ce3c 100644 --- a/locales/sl.yml +++ b/locales/sl.yml @@ -342,15 +342,14 @@ milestones: # Uvodni prekrivnik prilagodljive vaje adaptive_intro: - title: ' Dobrodošli v prilagodljivi vaji! ' + title: ' Dobrodošli v keydr! ' how_it_works: 'Kako delujejo prilagodljive vaje:' - desc_start: 'Začnete z majhnim naborom najpogostejših odkljenjenih črk.' - desc_progress: 'Ko jih tipkate samozavestno, se nove tipke postopoma' - desc_expand: 'odklenejo, dokler ne obvladate celotne tipkovnice.' + description: 'Začnete z majhnim naborom najpogostejših odkljenjenih črk. Vaja ustvarja samo besede, ki uporabljajo te črke. Ko jih tipkate samozavestno, se nove tipke postopoma odklenejo, dokler ne obvladate celotne tipkovnice.' target_wpm_label: 'Ciljni WPM:' - target_wpm_desc: 'To vpliva na hitrost odklepanja tipk — višji cilji zahtevajo' - target_wpm_default: 'hitrejše tipkanje. 35 WPM je dobro izhodišče, če niste prepričani.' - hint: '[←→] Prilagodi WPM [Enter/Space] Začni vajo' + target_wpm_desc: 'To vpliva na hitrost odklepanja tipk — višji cilji zahtevajo hitrejše tipkanje. 35 WPM je dobro izhodišče, če niste prepričani. To lahko vedno spremenite kasneje v nastavitvah.' + hint_adjust: 'Prilagodi WPM' + hint_start: 'Začni vajo' + hint_back: 'Glavni meni' # Raziskovalec tipkovnice keyboard: diff --git a/locales/sv.yml b/locales/sv.yml index 81f61c0..11fb92e 100644 --- a/locales/sv.yml +++ b/locales/sv.yml @@ -342,15 +342,14 @@ milestones: # Intro-oeverlagg foer adaptiv oevning adaptive_intro: - title: ' Vaelkommen till adaptiv oevning! ' + title: ' Vaelkommen till keydr! ' how_it_works: 'Hur adaptiva oevningar fungerar:' - desc_start: 'Du boerjar med en liten uppsaettning av de vanligaste uplaasta bokstaeverna.' - desc_progress: 'Naer du skriver dem med saekerhtet laases nya tangenter gradvis upp' - desc_expand: 'tills du behaerskar hela tangentbordet.' + description: 'Du boerjar med en liten uppsaettning av de vanligaste uplaasta bokstaeverna. Oevningen genererar bara ord som anvaender dessa bokstaever. Naer du skriver dem med saekerhet laases nya tangenter gradvis upp tills du behaerskar hela tangentbordet.' target_wpm_label: 'Maal-WPM:' - target_wpm_desc: 'Detta paaverkar hur snabbt tangenter laases upp — hoegre maal kraever' - target_wpm_default: 'snabbare skrivande. 35 WPM aer en bra startpunkt om du aer osaeker.' - hint: '[←→] Justera WPM [Enter/Space] Boerja oeva' + target_wpm_desc: 'Detta paaverkar hur snabbt tangenter laases upp — hoegre maal kraever snabbare skrivande. 35 WPM aer en bra startpunkt om du aer osaeker. Du kan alltid aendra detta senare i installningarna.' + hint_adjust: 'Justera WPM' + hint_start: 'Starta oevning' + hint_back: 'Huvudmeny' # Keyboard explorer keyboard: diff --git a/locales/tr.yml b/locales/tr.yml index 5fad6dd..431d6e2 100644 --- a/locales/tr.yml +++ b/locales/tr.yml @@ -342,15 +342,14 @@ milestones: # Uyarlanır alıştırma giriş katmanı adaptive_intro: - title: ' Uyarlanır Alıştırmaya Hoş Geldiniz! ' + title: ' keydr''e hoş geldiniz! ' how_it_works: 'Uyarlanır alıştırmalar nasıl çalışır:' - desc_start: 'En yaygın harflerin küçük bir kümesiyle başlarsınız.' - desc_progress: 'Onları güvenle yazdıkça, yeni tuşlar kademeli olarak' - desc_expand: 'tam klavyeye hakim olana kadar açılır.' + description: 'En yaygın harflerin küçük bir kümesiyle başlarsınız. Alıştırma yalnızca bu harfleri kullanan kelimeler üretir. Onları güvenle yazdıkça, tam klavyeye hakim olana kadar yeni tuşlar kademeli olarak açılır.' target_wpm_label: 'Hedef WPM:' - target_wpm_desc: 'Bu, tuşların ne kadar hızlı açılacağını etkiler — daha yüksek hedefler gerektirir' - target_wpm_default: 'daha hızlı yazma. Emin değilseniz 35 WPM iyi bir başlangıç noktasıdır.' - hint: '[←→] WPM Ayarla [Enter/Space] Alıştırmaya başla' + target_wpm_desc: 'Bu, tuşların ne kadar hızlı açılacağını etkiler — daha yüksek hedefler daha hızlı yazma gerektirir. Emin değilseniz 35 WPM iyi bir başlangıç noktasıdır. Bunu daha sonra ayarlardan her zaman değiştirebilirsiniz.' + hint_adjust: 'WPM Ayarla' + hint_start: 'Alıştırmaya başla' + hint_back: 'Ana menü' # Klavye gezgini keyboard: diff --git a/src/app.rs b/src/app.rs index 54f5f89..2d6a5f6 100644 --- a/src/app.rs +++ b/src/app.rs @@ -614,7 +614,11 @@ impl App { // Rebuild n-gram stats from drill history app.rebuild_ngram_stats(); - app.start_drill(); + if !app.config.adaptive_intro_done { + app.show_adaptive_intro = true; + } else { + app.start_drill(); + } app } diff --git a/src/main.rs b/src/main.rs index 23fca89..10e23b1 100644 --- a/src/main.rs +++ b/src/main.rs @@ -31,7 +31,7 @@ use ratatui::backend::CrosstermBackend; use ratatui::layout::{Constraint, Direction, Layout, Rect}; use ratatui::style::{Modifier, Style}; use ratatui::text::{Line, Span}; -use ratatui::widgets::{Block, Paragraph, Widget, Wrap}; +use ratatui::widgets::{Block, Padding, Paragraph, Widget, Wrap}; use app::{App, AppScreen, DrillMode, MilestoneKind, SettingItem, StatusKind}; use i18n::t; @@ -336,6 +336,12 @@ fn handle_key(app: &mut App, key: KeyEvent) { app.key_stats.target_cpm = app.config.target_cpm(); app.ranked_key_stats.target_cpm = app.config.target_cpm(); } + KeyCode::Esc | KeyCode::Char('q') => { + app.show_adaptive_intro = false; + app.config.adaptive_intro_done = true; + let _ = app.config.save(); + app.go_to_menu(); + } _ => { app.show_adaptive_intro = false; app.config.adaptive_intro_done = true; @@ -3819,30 +3825,46 @@ fn render_adaptive_intro_overlay(frame: &mut ratatui::Frame, app: &App) { let block = Block::bordered() .title(title_t.as_ref()) .border_style(Style::default().fg(colors.accent())) - .style(Style::default().bg(colors.bg())); + .style(Style::default().bg(colors.bg())) + .padding(Padding::horizontal(2)); let inner = block.inner(overlay_area); block.render(overlay_area, frame.buffer_mut()); + let hint_h_back = ui::hint::hint(ui::hint::K_Q_ESC, t!("adaptive_intro.hint_back").as_ref()); + let hint_h_adjust = ui::hint::hint(ui::hint::K_ARROW_LR, t!("adaptive_intro.hint_adjust").as_ref()); + let hint_h_start = ui::hint::hint(ui::hint::K_ENTER_SPACE, t!("adaptive_intro.hint_start").as_ref()); + let hints: Vec<&str> = vec![ + hint_h_adjust.as_str(), + hint_h_start.as_str(), + hint_h_back.as_str(), + ]; + let hint_lines_text = pack_hint_lines(&hints, inner.width as usize); + let footer_height = hint_lines_text.len().max(1) as u16; + + let (content_area, footer_area) = if inner.height > footer_height { + let chunks = Layout::default() + .direction(Direction::Vertical) + .constraints([Constraint::Min(1), Constraint::Length(footer_height)]) + .split(inner); + (chunks[0], Some(chunks[1])) + } else { + (inner, None) + }; + let mut lines: Vec = Vec::new(); lines.push(Line::from("")); lines.push(Line::from(Span::styled( - format!(" {}", t!("adaptive_intro.how_it_works")), + t!("adaptive_intro.how_it_works").to_string(), Style::default() .fg(colors.accent()) .add_modifier(Modifier::BOLD), ))); lines.push(Line::from("")); - for text in [ - t!("adaptive_intro.desc_start").to_string(), - t!("adaptive_intro.desc_progress").to_string(), - t!("adaptive_intro.desc_expand").to_string(), - ] { - lines.push(Line::from(Span::styled( - format!(" {text}"), - Style::default().fg(colors.fg()), - ))); - } + lines.push(Line::from(Span::styled( + t!("adaptive_intro.description").to_string(), + Style::default().fg(colors.fg()), + ))); lines.push(Line::from("")); // Target WPM adjuster @@ -3850,7 +3872,7 @@ fn render_adaptive_intro_overlay(frame: &mut ratatui::Frame, app: &App) { let wpm_value = format!("\u{2190} {} \u{2192}", app.config.target_wpm); lines.push(Line::from(vec![ Span::styled( - format!(" {wpm_label} "), + format!("{wpm_label} "), Style::default().fg(colors.fg()).add_modifier(Modifier::BOLD), ), Span::styled( @@ -3861,27 +3883,31 @@ fn render_adaptive_intro_overlay(frame: &mut ratatui::Frame, app: &App) { ), ])); lines.push(Line::from("")); - for text in [ - t!("adaptive_intro.target_wpm_desc").to_string(), - t!("adaptive_intro.target_wpm_default").to_string(), - ] { - lines.push(Line::from(Span::styled( - format!(" {text}"), - Style::default().fg(colors.fg()), - ))); - } - lines.push(Line::from("")); - - // Footer hint lines.push(Line::from(Span::styled( - format!(" {}", t!("adaptive_intro.hint")), - Style::default().fg(colors.text_pending()), + t!("adaptive_intro.target_wpm_desc").to_string(), + Style::default().fg(colors.fg()), ))); frame.render_widget( Paragraph::new(lines).wrap(Wrap { trim: false }), - inner, + content_area, ); + + if let Some(footer) = footer_area { + let footer_lines: Vec = hint_lines_text + .into_iter() + .map(|line| { + Line::from(Span::styled( + line, + Style::default().fg(colors.text_pending()), + )) + }) + .collect(); + frame.render_widget( + Paragraph::new(footer_lines).wrap(Wrap { trim: false }), + footer, + ); + } } fn render_milestone_overlay( diff --git a/src/ui/hint.rs b/src/ui/hint.rs index 3f61222..7069eec 100644 --- a/src/ui/hint.rs +++ b/src/ui/hint.rs @@ -25,6 +25,7 @@ pub const K_Q: &str = "q"; // ── Universal keys ──────────────────────────────────────────────────────────── pub const K_ENTER: &str = "Enter"; +pub const K_ENTER_SPACE: &str = "Enter/Space"; pub const K_TAB: &str = "Tab"; pub const K_BACKSPACE: &str = "Backspace"; @@ -62,9 +63,6 @@ pub const K_TYPE_BACKSPACE: &str = "Type/Backspace"; pub const K_UD_JK: &str = "↑↓/jk"; pub const K_SCROLL_KEYS: &str = "PgUp/PgDn or Ctrl+U/Ctrl+D"; -// ── Keyboard explorer ───────────────────────────────────────────────────────── -pub const K_KBD_NAV: &str = "←→↑↓/hjkl/Tab"; - /// Assembles a single hint entry: `"[key] label"`. /// /// The returned `String` owns its content and can be held alongside other hint