diff --git a/targets/watch/ContentView.swift b/targets/watch/ContentView.swift index d399ec9..d5741a7 100644 --- a/targets/watch/ContentView.swift +++ b/targets/watch/ContentView.swift @@ -52,7 +52,7 @@ struct WorkoutListView: View { } label: { HStack { VStack(alignment: .leading, spacing: 4) { - Text(workout.name ?? String(localized: "Workout")) + Text(workout.name ?? "Workout") .font(.headline) .foregroundColor(.primary) Text("\(workout.sets.reduce(0) { $0 + $1.distancePerRep * $1.repCount })m · \(workout.sets.count) sets") @@ -77,7 +77,7 @@ struct WorkoutListView: View { ForEach(workoutManager.completedWorkouts.prefix(3)) { workout in HStack { VStack(alignment: .leading, spacing: 2) { - Text(workout.name ?? String(localized: "Workout")) + Text(workout.name ?? "Workout") .font(.subheadline) .foregroundColor(.primary) Text(workout.completedAt ?? "") diff --git a/targets/watch/Localizable.xcstrings b/targets/watch/Localizable.xcstrings index 8597650..3f44328 100644 --- a/targets/watch/Localizable.xcstrings +++ b/targets/watch/Localizable.xcstrings @@ -1346,6 +1346,242 @@ } } }, + "End Workout" : { + "extractionState" : "manual", + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Workout beenden" + } + }, + "dk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Afslut træning" + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "End Workout" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Finalizar entrenamiento" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Terminer l'entraînement" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Termina allenamento" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Workout beëindigen" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zakończ trening" + } + }, + "pt" : { + "stringUnit" : { + "state" : "translated", + "value" : "Terminar treino" + } + } + } + }, + "Pause" : { + "extractionState" : "manual", + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pause" + } + }, + "dk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pause" + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pause" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pausa" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pause" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pausa" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pauze" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pauza" + } + }, + "pt" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pausa" + } + } + } + }, + "Resume" : { + "extractionState" : "manual", + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fortsetzen" + } + }, + "dk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Forsæt" + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Resume" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Reanudar" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Reprendre" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Riprendi" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hervatten" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wznów" + } + }, + "pt" : { + "stringUnit" : { + "state" : "translated", + "value" : "Retomar" + } + } + } + }, + "Rest %@" : { + "extractionState" : "manual", + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pause %@" + } + }, + "dk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hvile %@" + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rest %@" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Descanso %@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Repos %@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Recupero %@" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rust %@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Odpoczynek %@" + } + }, + "pt" : { + "stringUnit" : { + "state" : "translated", + "value" : "Descanso %@" + } + } + } + }, "Workout complete!" : { "extractionState" : "manual", "localizations" : { diff --git a/targets/watch/Views/WorkoutDetailView.swift b/targets/watch/Views/WorkoutDetailView.swift index 1d0c8af..25df1f4 100644 --- a/targets/watch/Views/WorkoutDetailView.swift +++ b/targets/watch/Views/WorkoutDetailView.swift @@ -8,14 +8,15 @@ struct WorkoutDetailView: View { if let workout = workoutManager.selectedWorkout { Section { VStack(spacing: 8) { - Text(workout.name ?? String(localized: "Workout")) + Text(workout.name ?? "Workout") .font(.headline) Text("\(Int(workout.poolLength))m pool") .font(.caption) .foregroundColor(.secondary) - Text("\(workout.sets.reduce(0) { $0 + $1.distancePerRep * $1.repCount })m total") + let totalM = workout.sets.reduce(0) { $0 + $1.distancePerRep * $1.repCount } + Text("\(totalM)m total") .font(.caption) .foregroundColor(.secondary) }