Wetter: deutsche Conditions + Asphalt-Label entrümpelt
- WeatherCondition deutsch: 'Mostly Clear' → 'Überwiegend klar' etc. - AsphaltLevel.label nur noch ein Wort (Heiß/Warm/Gefährlich), die safety-Info wandert in den advice-Text → Title bleibt einzeilig
This commit is contained in:
parent
357c57e880
commit
08069d6ea4
2 changed files with 47 additions and 7 deletions
|
|
@ -20,18 +20,18 @@ enum GassiWetter {
|
|||
var label: String {
|
||||
switch self {
|
||||
case .safe: return "Unbedenklich"
|
||||
case .warm: return "Warm — kurze Runden ok"
|
||||
case .hot: return "Heiß — Pfoten verbrennen"
|
||||
case .danger: return "Gefährlich — gar nicht laufen"
|
||||
case .warm: return "Warm"
|
||||
case .hot: return "Heiß"
|
||||
case .danger: return "Gefährlich"
|
||||
}
|
||||
}
|
||||
|
||||
var advice: String? {
|
||||
switch self {
|
||||
case .safe: return nil
|
||||
case .warm: return "Schatten suchen, Pausen einlegen."
|
||||
case .hot: return "Gras oder Schatten bevorzugen — Asphalt vermeiden."
|
||||
case .danger: return "Nur Morgens/Abends rausgehen, mittags drinnen."
|
||||
case .warm: return "Schatten suchen, Pausen einlegen — kurze Runden sind ok."
|
||||
case .hot: return "Pfoten verbrennen. Gras oder Schatten bevorzugen, Asphalt meiden."
|
||||
case .danger: return "Pfoten verbrennen sofort. Nur früh morgens oder abends rausgehen."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -141,7 +141,7 @@ struct WetterView: View {
|
|||
.symbolRenderingMode(.multicolor)
|
||||
.font(.system(size: 56))
|
||||
VStack(alignment: .leading, spacing: 2) {
|
||||
Text(day.condition.description)
|
||||
Text(germanCondition(day.condition))
|
||||
.font(.headline)
|
||||
HStack(spacing: 6) {
|
||||
Text("\(Int(metrics.tempMax.rounded()))°").font(.title3.bold().monospacedDigit())
|
||||
|
|
@ -287,6 +287,46 @@ struct WetterView: View {
|
|||
|
||||
// MARK: - Loading
|
||||
|
||||
private func germanCondition(_ condition: WeatherCondition) -> String {
|
||||
switch condition {
|
||||
case .clear: return "Klar"
|
||||
case .mostlyClear: return "Überwiegend klar"
|
||||
case .partlyCloudy: return "Teilweise bewölkt"
|
||||
case .mostlyCloudy: return "Überwiegend bewölkt"
|
||||
case .cloudy: return "Bedeckt"
|
||||
case .foggy: return "Nebel"
|
||||
case .haze: return "Dunst"
|
||||
case .smoky: return "Rauch in der Luft"
|
||||
case .drizzle: return "Nieselregen"
|
||||
case .freezingDrizzle: return "Gefrierender Nieselregen"
|
||||
case .rain: return "Regen"
|
||||
case .heavyRain: return "Starker Regen"
|
||||
case .freezingRain: return "Gefrierender Regen"
|
||||
case .sunShowers: return "Sonnige Schauer"
|
||||
case .snow: return "Schnee"
|
||||
case .heavySnow: return "Starker Schnee"
|
||||
case .flurries: return "Schneetreiben"
|
||||
case .blowingSnow: return "Schneeverwehung"
|
||||
case .blizzard: return "Schneesturm"
|
||||
case .sleet: return "Schneeregen"
|
||||
case .hail: return "Hagel"
|
||||
case .wintryMix: return "Schneeregen-Mix"
|
||||
case .thunderstorms: return "Gewitter"
|
||||
case .strongStorms: return "Starkes Gewitter"
|
||||
case .scatteredThunderstorms: return "Vereinzelte Gewitter"
|
||||
case .isolatedThunderstorms: return "Einzelne Gewitter"
|
||||
case .tropicalStorm: return "Tropensturm"
|
||||
case .hurricane: return "Hurrikan"
|
||||
case .hot: return "Hitze"
|
||||
case .frigid: return "Eisige Kälte"
|
||||
case .windy: return "Windig"
|
||||
case .breezy: return "Leichte Brise"
|
||||
case .blowingDust: return "Staubsturm"
|
||||
case .sunFlurries: return "Schneetreiben"
|
||||
default: return condition.description
|
||||
}
|
||||
}
|
||||
|
||||
private func loadWeather() async {
|
||||
guard let coord = location.coordinate else { return }
|
||||
isLoading = true
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue