diff --git a/app/src/main/java/eu/gaudian/translator/view/settings/VocabularyProgressOptionsScreen.kt b/app/src/main/java/eu/gaudian/translator/view/settings/VocabularyProgressOptionsScreen.kt index 10d2610..6949483 100644 --- a/app/src/main/java/eu/gaudian/translator/view/settings/VocabularyProgressOptionsScreen.kt +++ b/app/src/main/java/eu/gaudian/translator/view/settings/VocabularyProgressOptionsScreen.kt @@ -91,44 +91,27 @@ fun VocabularyProgressOptionsScreen( .padding(16.dp), verticalArrangement = Arrangement.spacedBy(16.dp) ) { - // Interval Settings - AppCard( - expandable = true, - initiallyExpanded = true, - title = stringResource(R.string.text_interval_settings_in_days), - text = stringResource(R.string.text_customize_the_intervals), - - - - ) { - val intervals by settingsViewModel.intervals.collectAsStateWithLifecycle() + // Daily Goal Settings + AppCard { + val dailyGoal by settingsViewModel.dailyGoal.collectAsStateWithLifecycle() Column( - modifier = Modifier - .padding(16.dp) - .animateContentSize(), - verticalArrangement = Arrangement.spacedBy(16.dp) + modifier = Modifier.padding(16.dp), + verticalArrangement = Arrangement.spacedBy(8.dp) ) { - IntervalTimeline(intervals = intervals) - intervals.forEach { (stageKey, days) -> - val displayLabel = labelForStage(stageKey) - IntervalSlider( - label = displayLabel, - value = days, - onValueChange = { newValue -> - settingsViewModel.setInterval(stageKey, newValue) - } - ) - } - Spacer(Modifier.height(8.dp)) - Row( - modifier = Modifier.fillMaxWidth(), - horizontalArrangement = Arrangement.End - ) { - TextButton(onClick = { settingsViewModel.resetIntervalsToDefaults() }) { - Text(stringResource(R.string.reset_to_defaults)) - } - } + @Suppress("USELESS_ELVIS", "HardCodedStringLiteral") + SettingsSlider( + label = stringResource(R.string.target_correct_answers_per_day), + value = dailyGoal ?: 10, + onValueChange = { settingsViewModel.setDailyGoal(it) }, + valueRange = 10f..100f, + steps = 17 // Allows snapping in steps of 5 + ) + Text( + text = stringResource(R.string.text_daily_goal_description), + style = MaterialTheme.typography.bodyMedium, + color = MaterialTheme.colorScheme.onSurfaceVariant + ) } } @@ -163,30 +146,41 @@ fun VocabularyProgressOptionsScreen( } } - // Daily Goal Settings - AppCard { - val dailyGoal by settingsViewModel.dailyGoal.collectAsStateWithLifecycle() - Column( - modifier = Modifier.padding(16.dp), - verticalArrangement = Arrangement.spacedBy(8.dp) + // Interval Settings + AppCard( + expandable = true, + initiallyExpanded = true, + title = stringResource(R.string.label_interval_settings_in_days), + text = stringResource(R.string.text_customize_the_intervals), ) { - Text( - text = stringResource(R.string.daily_learning_goal), - style = MaterialTheme.typography.titleMedium - ) - @Suppress("USELESS_ELVIS", "HardCodedStringLiteral") - SettingsSlider( - label = stringResource(R.string.target_correct_answers_per_day), - value = dailyGoal ?: 10, - onValueChange = { settingsViewModel.setDailyGoal(it) }, - valueRange = 10f..100f, - steps = 17 // Allows snapping in steps of 5 - ) - Text( - text = stringResource(R.string.text_daily_goal_description), - style = MaterialTheme.typography.bodySmall, - color = MaterialTheme.colorScheme.onSurfaceVariant - ) + val intervals by settingsViewModel.intervals.collectAsStateWithLifecycle() + Column( + modifier = Modifier + .padding(16.dp) + .animateContentSize(), + verticalArrangement = Arrangement.spacedBy(16.dp) + ) { + IntervalTimeline(intervals = intervals) + intervals.forEach { (stageKey, days) -> + val displayLabel = labelForStage(stageKey) + IntervalSlider( + label = displayLabel, + value = days, + onValueChange = { newValue -> + settingsViewModel.setInterval(stageKey, newValue) + } + ) + } + + Spacer(Modifier.height(8.dp)) + Row( + modifier = Modifier.fillMaxWidth(), + horizontalArrangement = Arrangement.End + ) { + TextButton(onClick = { settingsViewModel.resetIntervalsToDefaults() }) { + Text(stringResource(R.string.reset_to_defaults)) + } + } } } } diff --git a/app/src/main/res/values-de-rDE/strings.xml b/app/src/main/res/values-de-rDE/strings.xml index ff9e2b9..8966f6a 100644 --- a/app/src/main/res/values-de-rDE/strings.xml +++ b/app/src/main/res/values-de-rDE/strings.xml @@ -83,7 +83,6 @@ Sprachen mischen Trainingsmodus Anzahl der Karten - Intervall-Einstellungen (in Tagen) Gib ein Wort ein Gib die Übersetzung ein Nur heute fällige @@ -233,12 +232,10 @@ Übrig Beispiele - Vokabular-Einstellungen Lernkriterien Min. richtig zum Aufsteigen Max. falsch zum Absteigen Tägliches Lernziel - Ziel: Richtige Antworten pro Tag Sicherung & Wiederherstellung Vokabeldaten exportieren Vokabeldaten importieren diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 0d5cda0..3f60a06 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -83,7 +83,6 @@ Embaralhar Idiomas Modo de Treino Quantidade de cartões - Intervalos (em dias) Insira uma palavra Insira a tradução Apenas para hoje @@ -230,7 +229,6 @@ Restantes Exemplos - Configurações de Vocabulário Critérios de Aprendizagem Mín. de Acertos para Avançar Máx. de Erros para Regredir diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml index b188d0f..0c51e90 100644 --- a/app/src/main/res/values/arrays.xml +++ b/app/src/main/res/values/arrays.xml @@ -59,14 +59,44 @@ - Your inner parrot is learning new words! Keep talking! 🦜 - Even parrots start with one word. You\'re doing great! 🌟 - Time to spread your wings and learn something new! 🪶 - Your feathered friend is proud of your progress! 💚 - Repeat after me: You\'re getting better every day! 🗣️ - Fly high! Every new word is a new trick! 🎯 - Your vocabulary is taking flight! Keep it up! 🦜 - Sing a new song! Learn a new word today! 🎵 + Your vocabulary is gathering crumbs. Time for a bigger cracker! 🦜 + You\'re basically a parrot with a thesaurus. Impressive. 🪞 + Copy that: you\'re getting better at this whole language thing. 📢 + One day you\'ll squawk fluently. Keep practicing! 🎤 + Your brain\'s getting fluffier. That\'s a good thing, right? 🧠💚 + Stealing words from dictionaries is our thing. You\'re welcome. 🦜 + Less chattering, more learning. Wait... no, both. Both is good. 🗣️ + Today\'s word count: one more than yesterday. Peak performance! 📈 + You\'re not just a pretty bird. You\'re a smart bird now! 🪶✨ + Perch yourself on some new vocabulary. It\'s more fun than it sounds. 🌳 + Polly wants a cracker... of knowledge. Treat yourself! 🍪 + Your memory span is longer than 3 seconds. Growth! 💪 + Who needs a cage when you have a vocabulary of 50+ words? Freedom! 🗝️ + Mimicry is an art. You\'re basically Picasso with words. 🎨 + Feed your head. It\'s hungrier than your stomach. 🍽️ + You\'re not repeating, you\'re... reinforcing. Definitely that. 🔁 + Preening your lexicon one word at a time. Sleek! 😎 + Talk to yourself. It\'s called practice, not crazy. We support it. 🦜 + Your wingspan of knowledge is expanding. Flaunt it! 🪭 + Seed by seed, word by word. Building a vocabulary empire! 👑 + Soaring through sentences! Your vocabulary is finally taking flight! 🦜🌤️ + High flyer detected! Your word count is reaching new altitudes! 🦅⬆️ + Ready for takeoff? Your brain is about to leave the runway! ✈️💨 + Flying high on vocabulary! Watch out, clouds! ☁️🚀 + Your lexical wings are spreading. Time for lift-off! 🪶🔝 + Gliding through grammar like a parrot on a thermal! 🌀📚 + Every expert was once a beginner who didn\'t quit. You\'re on your way! 🌟 + Small steps, big results. Today\'s word is tomorrow\'s fluency! 🚀 + Your brain is a muscle. Time to work out those vocab gains! 💪🧠 + Consistency beats intensity. Keep showing up! 📅✅ + Words are your weapons. Arm yourself daily! ⚔️📖 + Today\'s struggle is tomorrow\'s strength. Push through! 🔥 + Learning a language is a marathon, not a sprint. Pace yourself! 🏃‍♂️🎯 + Your future self will thank you for every word learned today. ⏰🙏 + Progress isn\'t always linear. Every step forward counts! 📈⬆️ + 10 words a day × 365 = 3,650 words a year. Math doesn\'t lie! 🧮✨ + Small numbers add up: 5 words/day = 1,825 new words/year. Boom! 💥📚 + Your future vocabulary is just the sum of today\'s small efforts. Calculate success! 🧠➕ @@ -77,6 +107,4 @@ - - diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index e3b2b76..9724e61 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -818,7 +818,7 @@ In Progress Incorrect! Rare - Interval Settings (in days) + Interval Settings Key Active Key Optional Enter a word\n @@ -988,7 +988,7 @@ Vocabulary Added Vocabulary Repository - Vocabulary Settings + Progress Settings Website URL