From b2fc2a15706fc15b5e8c32ca52debfc0417b2f78 Mon Sep 17 00:00:00 2001 From: oliexdev Date: Fri, 15 Aug 2025 08:31:29 +0200 Subject: [PATCH] Translate time range filter options --- .../com/health/openscale/core/data/Enums.kt | 18 ++++++++++-------- .../ui/screen/components/LineChart.kt | 6 +++--- .../app/src/main/res/values-de/strings.xml | 4 ++++ .../app/src/main/res/values/strings.xml | 4 ++++ 4 files changed, 21 insertions(+), 11 deletions(-) diff --git a/android_app/app/src/main/java/com/health/openscale/core/data/Enums.kt b/android_app/app/src/main/java/com/health/openscale/core/data/Enums.kt index 4212d8cb..c201b4f8 100644 --- a/android_app/app/src/main/java/com/health/openscale/core/data/Enums.kt +++ b/android_app/app/src/main/java/com/health/openscale/core/data/Enums.kt @@ -24,9 +24,7 @@ import java.util.Locale enum class SupportedLanguage(val code: String, val nativeDisplayName: String) { ENGLISH("en", "English"), - GERMAN("de", "Deutsch"), - SPANISH("es", "Español"), - FRENCH("fr", "Français"); + GERMAN("de", "Deutsch"); fun toLocale(): Locale { return Locale.Builder().setLanguage(code).build() @@ -202,9 +200,13 @@ enum class Trend { UP, DOWN, NONE, NOT_APPLICABLE } -enum class TimeRangeFilter(val displayName: String) { - ALL_DAYS("Alle Tage"), - LAST_7_DAYS("Letzte 7 Tage"), - LAST_30_DAYS("Letzte 30 Tage"), - LAST_365_DAYS("Letzte 365 Tage") +enum class TimeRangeFilter(@StringRes val displayNameResId: Int) { + ALL_DAYS(R.string.time_range_all_days), + LAST_7_DAYS(R.string.time_range_last_7_days), + LAST_30_DAYS(R.string.time_range_last_30_days), + LAST_365_DAYS(R.string.time_range_last_365_days); + + fun getDisplayName(context: android.content.Context): String { + return context.getString(displayNameResId) + } } \ No newline at end of file diff --git a/android_app/app/src/main/java/com/health/openscale/ui/screen/components/LineChart.kt b/android_app/app/src/main/java/com/health/openscale/ui/screen/components/LineChart.kt index f6a849e4..a7eb0853 100644 --- a/android_app/app/src/main/java/com/health/openscale/ui/screen/components/LineChart.kt +++ b/android_app/app/src/main/java/com/health/openscale/ui/screen/components/LineChart.kt @@ -271,7 +271,7 @@ fun LineChart( Text( text = stringResource( R.string.line_chart_filter_title_template, - uiSelectedTimeRange.displayName, + uiSelectedTimeRange.getDisplayName(LocalContext.current), measurementsWithValues.size ), style = MaterialTheme.typography.bodyMedium, @@ -612,14 +612,14 @@ fun provideFilterTopBarAction( // Time Range Options TimeRangeFilter.entries.forEach { timeRange -> DropdownMenuItem( - text = { Text(timeRange.displayName) }, + text = { Text(timeRange.getDisplayName(LocalContext.current)) }, leadingIcon = { if (activeTimeRange == timeRange) { Icon( imageVector = Icons.Default.Check, contentDescription = stringResource( R.string.content_description_time_range_selected, - timeRange.displayName // Same i18n consideration as above + timeRange.getDisplayName(LocalContext.current) // Same i18n consideration as above ) ) } else { diff --git a/android_app/app/src/main/res/values-de/strings.xml b/android_app/app/src/main/res/values-de/strings.xml index 87664dfc..15204a5f 100644 --- a/android_app/app/src/main/res/values-de/strings.xml +++ b/android_app/app/src/main/res/values-de/strings.xml @@ -242,6 +242,10 @@ Messfilter ist sichtbar Messfilter ist ausgeblendet %1$s (%2$d Einträge) + Alle Tage + Letzte 7 Tage + Letzte 30 Tage + Letzte 365 Tage Keine darstellbaren Diagrammtypen verfügbar. Keine Daten zum Anzeigen. Keine Daten für %1$s im ausgewählten Bereich. diff --git a/android_app/app/src/main/res/values/strings.xml b/android_app/app/src/main/res/values/strings.xml index 4a8cc112..bd61054b 100644 --- a/android_app/app/src/main/res/values/strings.xml +++ b/android_app/app/src/main/res/values/strings.xml @@ -244,6 +244,10 @@ Measurement filter is visible Measurement filter is hidden %1$s (%2$d entries) + All Days + Last 7 Days + Last 30 Days + Last 365 Days No plottable chart types available. No data to display. No data for %1$s in the selected range.