diff --git a/app/src/main/kotlin/com/thoughtbot/tropos/viewmodels/CurrentWeatherViewModel.kt b/app/src/main/kotlin/com/thoughtbot/tropos/viewmodels/CurrentWeatherViewModel.kt index 303ef86..fadcecd 100644 --- a/app/src/main/kotlin/com/thoughtbot/tropos/viewmodels/CurrentWeatherViewModel.kt +++ b/app/src/main/kotlin/com/thoughtbot/tropos/viewmodels/CurrentWeatherViewModel.kt @@ -31,7 +31,7 @@ class CurrentWeatherViewModel(val context: Context, val today: Condition, val yesterday: Condition) { fun weatherSummary(): SpannableStringBuilder { - val adjective = tempDifference().name.toLowerCase() + val adjective = context.getString(tempDifference().asAdjective()) val todayDescription = context.getString(timeOfDay().asPresentDayDescription()) val yesterdayDescription = context.getString(timeOfDay().asPreviousDayDescription()) val format = tempDifference().summaryFormat() @@ -89,6 +89,14 @@ class CurrentWeatherViewModel(val context: Context, } } + private fun TemperatureDifference.asAdjective(): Int = when(this) { + SAME -> R.string.same + HOTTER -> R.string.hotter + WARMER -> R.string.warmer + COOLER -> R.string.cooler + COLDER -> R.string.colder + } + private fun TimeOfDay.asPresentDayDescription(): Int { when (this) { MORNING -> return string.present_morning diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml new file mode 100644 index 0000000..afc9a81 --- /dev/null +++ b/app/src/main/res/values-de/strings.xml @@ -0,0 +1,60 @@ + + + //directions + + N + NO + O + SO + S + SW + W + NW + + //main + %1$d° / %2$d° / %3$d° + %1$d mph %2$s + %1$d km/h %2$s + %d° + Powered by Dark Sky + thoughtbot + 🙅🏾 🙅🏼 🙅🏻\n\nStandortermittlung ist ausgeschaltet. \n\nSchalte die Standortermittlung in den Einstellungen an, damit wir dir eine präzise Wettervorhersage geben können. + 🙅🏾 🙅🏼 🙅🏻\n\n%s + + //toolbar + Aktualisiert um %s + Rufe Wetter ab… + Aktualisierung fehlgeschlagen + + //time of day + heute Abend + heute Morgen + heute + heute Nachmittag + gestern Abend + gestern Morgen + gestern + gestern Nachmittag + + //temperature difference + kälter + kühler + ähnlich + wärmer + heißer + + //temperature formats + Es ist %2$s %1$s als %3$s. + Es ist %2$s %1$s wie %3$s. + + //settings + Metrisch + Angelsächsisch + Info + Privatsphäre + Einstellungen + Einstellungen + Mit 💜 handgefertigt von thoughtbot + Schließen + Einheitensystem + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index d644922..1f5dfce 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -37,6 +37,13 @@ yesterday yesterday afternoon + //temperature difference + colder + cooler + same + warmer + hotter + //temperature formats It\'s %s %s than %s. It\'s the %s %s as %s. diff --git a/app/src/test/kotlin/com/thoughtbot/tropos/viewmodels/CurrentWeatherViewModelTest.kt b/app/src/test/kotlin/com/thoughtbot/tropos/viewmodels/CurrentWeatherViewModelTest.kt index 11077f9..dd83b27 100644 --- a/app/src/test/kotlin/com/thoughtbot/tropos/viewmodels/CurrentWeatherViewModelTest.kt +++ b/app/src/test/kotlin/com/thoughtbot/tropos/viewmodels/CurrentWeatherViewModelTest.kt @@ -63,6 +63,16 @@ class CurrentWeatherViewModelTest() { assertTrue { expected.contentEquals(actual) } } + @Config(qualifiers = "de") + @Test + fun testGermanWeatherSummary() { + val viewModel = CurrentWeatherViewModel(context, preferences, mockCondition, mockCondition) + val expected = "Es ist heute Nachmittag ähnlich wie gestern Nachmittag." + val actual = viewModel.weatherSummary() + + assertTrue { expected.contentEquals(actual) } + } + @Test fun testIcon() { val viewModel = CurrentWeatherViewModel(context, preferences, mockCondition, mockCondition)