From 153ee3a8e8b3fd2ee1d97f09767eab72388497ab Mon Sep 17 00:00:00 2001 From: marcmuschko <marc.muschko@sap.com> Date: Mon, 1 Jun 2020 21:42:07 +0200 Subject: [PATCH] Updated strings, introduced more details on app-information screens (#88) * updated strings for risk card and risk card details; plural strings are todo when finalized * updated more strings on main / details * added comments * added strings for information about, information technical hotline; changed technical hotline layout * removed hotline test icon * fixed build issues --- .../de/rki/coronawarnapp/ui/UiConstants.kt | 3 + .../information/InformationContactFragment.kt | 5 + .../settings/SettingsNotificationFragment.kt | 2 +- .../de/rki/coronawarnapp/util/CallHelper.kt | 20 ++++ .../util/formatter/FormatterRiskHelper.kt | 36 +++++- .../res/layout/fragment_information_about.xml | 23 ++-- .../layout/fragment_information_contact.xml | 48 ++++++-- .../main/res/layout/fragment_risk_details.xml | 37 ++++-- .../fragment_settings_notifications.xml | 4 +- .../layout/include_information_details.xml | 2 +- ...ion_row.xml => include_navigation_row.xml} | 37 ++++-- .../src/main/res/values/strings.xml | 111 ++++++++++-------- 12 files changed, 228 insertions(+), 100 deletions(-) create mode 100644 Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/CallHelper.kt rename Corona-Warn-App/src/main/res/layout/{include_settings_navigation_row.xml => include_navigation_row.xml} (50%) diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/UiConstants.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/UiConstants.kt index 13f360e19..4179af0c1 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/UiConstants.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/UiConstants.kt @@ -2,4 +2,7 @@ package de.rki.coronawarnapp.ui object UiConstants { const val INFORMATION_URI = "https://www.bundesregierung.de/c19app-intern" + + // todo move to strings if translatable is needed? if yes include regex in CallHelper to filter non-numerical chars excluding '+' + const val TECHNICAL_HOTLINE = "tel:+49 800 7540001" } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationContactFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationContactFragment.kt index d3bc89ba1..e05286d77 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationContactFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationContactFragment.kt @@ -6,7 +6,9 @@ import android.view.View import android.view.ViewGroup import de.rki.coronawarnapp.databinding.FragmentInformationContactBinding import de.rki.coronawarnapp.ui.BaseFragment +import de.rki.coronawarnapp.ui.UiConstants import de.rki.coronawarnapp.ui.main.MainActivity +import de.rki.coronawarnapp.util.CallHelper /** * Basic Fragment which only displays static content. @@ -35,5 +37,8 @@ class InformationContactFragment : BaseFragment() { binding.informationContactHeader.informationHeader.headerButtonBack.buttonIcon.setOnClickListener { (activity as MainActivity).goBack() } + binding.informationContactNavigationRowPhone.navigationRow.setOnClickListener { + CallHelper.call(this, UiConstants.TECHNICAL_HOTLINE) + } } } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/SettingsNotificationFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/SettingsNotificationFragment.kt index 30aaf81fa..138624796 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/SettingsNotificationFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/SettingsNotificationFragment.kt @@ -65,7 +65,7 @@ class SettingsNotificationFragment : Fragment() { val updateTestNotificationRow = binding.settingsSwitchRowNotificationsTest.settingsSwitchRow // Settings - val settingsRow = binding.settingsNavigationRowSystem.settingsNavigationRow + val settingsRow = binding.settingsNavigationRowSystem.navigationRow val goBack = binding.settingsDetailsHeaderNotifications.settingsDetailsHeaderButtonBack.buttonIcon // Update Risk diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/CallHelper.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/CallHelper.kt new file mode 100644 index 000000000..783c1e7f1 --- /dev/null +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/CallHelper.kt @@ -0,0 +1,20 @@ +package de.rki.coronawarnapp.util + +import android.content.Intent +import android.net.Uri +import de.rki.coronawarnapp.ui.BaseFragment + +/** + * Helper object for intents triggering a phone call + * todo unify once necessary intents are final with share, external url and others + */ +object CallHelper { + fun call(fragment: BaseFragment, uri: String) { + fragment.startActivity( + Intent( + Intent.ACTION_DIAL, + Uri.parse(uri) + ) + ) + } +} diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/formatter/FormatterRiskHelper.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/formatter/FormatterRiskHelper.kt index 0ad6e41b5..20392db03 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/formatter/FormatterRiskHelper.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/formatter/FormatterRiskHelper.kt @@ -264,21 +264,45 @@ fun formatNextUpdate( } } +/** + * Formats the risk details subtitle text display depending on risk level + * + * @param riskLevelScore + * @return + */ +fun formatRiskDetailsRiskLevelSubtitle(riskLevelScore: Int?): String { + val appContext = CoronaWarnApplication.getAppContext() + return when (riskLevelScore) { + RiskLevelConstants.LOW_LEVEL_RISK, + RiskLevelConstants.INCREASED_RISK -> appContext.getString(R.string.risk_details_subtitle_infection_risk_past) + else -> appContext.getString(R.string.risk_details_subtitle_infection_risk) + } +} + /** * Formats the risk details text display for each risk level * * @param riskLevelScore + * @param daysSinceLastExposure * @return */ -fun formatRiskDetailsRiskLevelBody(riskLevelScore: Int?): String { +fun formatRiskDetailsRiskLevelBody(riskLevelScore: Int?, daysSinceLastExposure: Int?): String { // TODO replace lorem ipsum by text from rki val appContext = CoronaWarnApplication.getAppContext() + val daysArg = daysSinceLastExposure.toString() + return when (riskLevelScore) { - RiskLevelConstants.INCREASED_RISK -> appContext.getString(R.string.lorem_ipsum) - RiskLevelConstants.UNKNOWN_RISK_OUTDATED_RESULTS -> appContext.getString(R.string.lorem_ipsum) - RiskLevelConstants.NO_CALCULATION_POSSIBLE_TRACING_OFF -> appContext.getString(R.string.lorem_ipsum) - RiskLevelConstants.LOW_LEVEL_RISK -> appContext.getString(R.string.lorem_ipsum) - else -> appContext.getString(R.string.lorem_ipsum) + RiskLevelConstants.INCREASED_RISK -> { + appContext.getString(R.string.risk_details_information_body_increased_risk) + .format(daysArg) + } + RiskLevelConstants.UNKNOWN_RISK_OUTDATED_RESULTS -> + appContext.getString(R.string.risk_details_information_body_outdated_risk) + RiskLevelConstants.LOW_LEVEL_RISK -> + appContext.getString(R.string.risk_details_information_body_low_risk) + RiskLevelConstants.UNKNOWN_RISK_INITIAL -> + appContext.getString(R.string.risk_details_information_body_unknown_risk) + else -> "" } } diff --git a/Corona-Warn-App/src/main/res/layout/fragment_information_about.xml b/Corona-Warn-App/src/main/res/layout/fragment_information_about.xml index 22505136a..e222be48e 100644 --- a/Corona-Warn-App/src/main/res/layout/fragment_information_about.xml +++ b/Corona-Warn-App/src/main/res/layout/fragment_information_about.xml @@ -25,31 +25,26 @@ app:title="@{@string/information_about_title}" /> <TextView - android:id="@+id/text_sample_1" + android:id="@+id/information_about_body_emphasized" + style="@style/textMultilineEmphasized" android:layout_width="0dp" android:layout_height="wrap_content" - android:text="@string/lorem_ipsum" + android:layout_marginTop="@dimen/spacing_small" + android:text="@string/information_about_body_emphasized" app:layout_constraintEnd_toStartOf="@+id/guideline_end" app:layout_constraintStart_toEndOf="@+id/guideline_start" app:layout_constraintTop_toBottomOf="@+id/information_about_header" /> <TextView - android:id="@+id/text_sample_2" + android:id="@+id/information_about_body" + style="@style/textMultiline" android:layout_width="0dp" android:layout_height="wrap_content" - android:text="@string/lorem_ipsum" + android:layout_marginTop="@dimen/spacing_small" + android:text="@string/information_about_body" app:layout_constraintEnd_toStartOf="@+id/guideline_end" app:layout_constraintStart_toEndOf="@+id/guideline_start" - app:layout_constraintTop_toBottomOf="@+id/text_sample_1" /> - - <TextView - android:id="@+id/text_sample_3" - android:layout_width="0dp" - android:layout_height="wrap_content" - android:text="@string/lorem_ipsum" - app:layout_constraintEnd_toStartOf="@+id/guideline_end" - app:layout_constraintStart_toEndOf="@+id/guideline_start" - app:layout_constraintTop_toBottomOf="@+id/text_sample_2" /> + app:layout_constraintTop_toBottomOf="@+id/information_about_body_emphasized" /> <androidx.constraintlayout.widget.Guideline android:id="@+id/guideline_top" diff --git a/Corona-Warn-App/src/main/res/layout/fragment_information_contact.xml b/Corona-Warn-App/src/main/res/layout/fragment_information_contact.xml index 905c5283a..a8b9be9aa 100644 --- a/Corona-Warn-App/src/main/res/layout/fragment_information_contact.xml +++ b/Corona-Warn-App/src/main/res/layout/fragment_information_contact.xml @@ -16,6 +16,7 @@ layout="@layout/include_information_details_header" android:layout_width="0dp" android:layout_height="wrap_content" + app:body="@{@string/information_contact_body}" app:headline="@{@string/information_contact_headline}" app:icon="@{@drawable/ic_back}" app:illustration="@{@drawable/ic_information_illustration_contact}" @@ -25,31 +26,54 @@ app:title="@{@string/information_contact_title}" /> <TextView - android:id="@+id/text_sample_1" + android:id="@+id/information_contact_subtitle_phone" + style="@style/textLargeEmphasized" android:layout_width="0dp" android:layout_height="wrap_content" - android:text="@string/lorem_ipsum" + android:layout_marginTop="@dimen/spacing_small" + android:text="@string/information_contact_subtitle_phone" app:layout_constraintEnd_toStartOf="@+id/guideline_end" app:layout_constraintStart_toEndOf="@+id/guideline_start" app:layout_constraintTop_toBottomOf="@+id/information_contact_header" /> + <include + android:id="@+id/information_contact_navigation_row_phone" + layout="@layout/include_navigation_row" + android:layout_width="0dp" + android:layout_height="wrap_content" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@+id/information_contact_subtitle_phone" + app:subtitle="@{@string/information_contact_button_phone}" /> + <TextView - android:id="@+id/text_sample_2" + android:id="@+id/information_contact_body_phone" android:layout_width="0dp" android:layout_height="wrap_content" - android:text="@string/lorem_ipsum" - app:layout_constraintEnd_toStartOf="@+id/guideline_end" - app:layout_constraintStart_toEndOf="@+id/guideline_start" - app:layout_constraintTop_toBottomOf="@+id/text_sample_1" /> + android:text="@string/information_contact_body_phone" + app:layout_constraintEnd_toEndOf="@+id/guideline_end" + app:layout_constraintStart_toStartOf="@+id/guideline_start" + app:layout_constraintTop_toBottomOf="@+id/information_contact_navigation_row_phone" /> <TextView - android:id="@+id/text_sample_3" + android:id="@+id/information_contact_body_open" android:layout_width="0dp" android:layout_height="wrap_content" - android:text="@string/lorem_ipsum" - app:layout_constraintEnd_toStartOf="@+id/guideline_end" - app:layout_constraintStart_toEndOf="@+id/guideline_start" - app:layout_constraintTop_toBottomOf="@+id/text_sample_2" /> + android:layout_marginTop="@dimen/spacing_normal" + android:text="@string/information_contact_body_open" + app:layout_constraintEnd_toEndOf="@+id/guideline_end" + app:layout_constraintStart_toStartOf="@+id/guideline_start" + app:layout_constraintTop_toBottomOf="@+id/information_contact_body_phone" /> + + <TextView + android:id="@+id/information_contact_body_other" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_marginTop="@dimen/spacing_normal" + android:text="@string/information_contact_body_other" + app:layout_constraintEnd_toEndOf="@+id/guideline_end" + app:layout_constraintStart_toStartOf="@+id/guideline_start" + app:layout_constraintTop_toBottomOf="@+id/information_contact_body_open" /> <androidx.constraintlayout.widget.Guideline android:id="@+id/guideline_top" diff --git a/Corona-Warn-App/src/main/res/layout/fragment_risk_details.xml b/Corona-Warn-App/src/main/res/layout/fragment_risk_details.xml index c1e96c83a..8335d8010 100644 --- a/Corona-Warn-App/src/main/res/layout/fragment_risk_details.xml +++ b/Corona-Warn-App/src/main/res/layout/fragment_risk_details.xml @@ -44,7 +44,7 @@ app:tracingViewModel="@{tracingViewModel}" /> <TextView - android:id="@+id/risk_details_behavior_subtitle" + android:id="@+id/risk_details_behavior_headline" style="@style/textLargeEmphasized" android:layout_width="0dp" android:layout_height="wrap_content" @@ -54,6 +54,17 @@ app:layout_constraintStart_toStartOf="@+id/guideline_start" app:layout_constraintTop_toBottomOf="@+id/risk_details_risk_card" /> + <TextView + android:id="@+id/risk_details_behavior_subtitle" + style="@style/textMultiline" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_marginTop="@dimen/spacing_tiny" + android:text="@string/risk_details_subtitle_behavior" + app:layout_constraintEnd_toStartOf="@+id/guideline_end" + app:layout_constraintStart_toStartOf="@+id/guideline_start" + app:layout_constraintTop_toBottomOf="@+id/risk_details_behavior_headline" /> + <androidx.constraintlayout.widget.ConstraintLayout android:id="@+id/risk_details_behavior_wrapper" android:layout_width="0dp" @@ -100,7 +111,7 @@ app:layout_constraintTop_toBottomOf="@id/risk_details_behavior_wrapper"> <TextView - android:id="@+id/risk_details_information_subtitle" + android:id="@+id/risk_details_information_headline" style="@style/textLargeEmphasized" android:layout_width="match_parent" android:layout_height="wrap_content" @@ -110,15 +121,15 @@ app:layout_constraintTop_toTopOf="parent" /> <TextView - android:id="@+id/risk_details_information_subtitle_details" + android:id="@+id/risk_details_information_subtitle" style="@style/textMultiline" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="@dimen/spacing_tiny" - android:text="@string/risk_details_body_infection_risk" + android:text="@{FormatterRiskHelper.formatRiskDetailsRiskLevelSubtitle(tracingViewModel.riskLevel)}" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toBottomOf="@+id/risk_details_information_subtitle" /> + app:layout_constraintTop_toBottomOf="@+id/risk_details_information_headline" /> <TextView android:id="@+id/risk_details_information_body" @@ -126,10 +137,22 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="@dimen/spacing_small" - android:text="@{FormatterRiskHelper.formatRiskDetailsRiskLevelBody(tracingViewModel.riskLevel)}" + android:text="@{FormatterRiskHelper.formatRiskDetailsRiskLevelBody(tracingViewModel.riskLevel, tracingViewModel.daysSinceLastExposure)}" + android:visibility="@{FormatterHelper.formatVisibilityText(FormatterRiskHelper.formatRiskDetailsRiskLevelBody(tracingViewModel.riskLevel, tracingViewModel.daysSinceLastExposure))}" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@+id/risk_details_information_subtitle" /> + + <TextView + android:id="@+id/risk_details_information_body_notice" + style="@style/textMultiline" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginTop="@dimen/spacing_small" + android:text="@string/risk_details_information_body_notice" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toBottomOf="@+id/risk_details_information_subtitle_details" /> + app:layout_constraintTop_toBottomOf="@+id/risk_details_information_body" /> </androidx.constraintlayout.widget.ConstraintLayout> diff --git a/Corona-Warn-App/src/main/res/layout/fragment_settings_notifications.xml b/Corona-Warn-App/src/main/res/layout/fragment_settings_notifications.xml index b1a66f4e2..cd92f01bf 100644 --- a/Corona-Warn-App/src/main/res/layout/fragment_settings_notifications.xml +++ b/Corona-Warn-App/src/main/res/layout/fragment_settings_notifications.xml @@ -72,7 +72,7 @@ <include android:id="@+id/settings_navigation_row_system" - layout="@layout/include_settings_navigation_row" + layout="@layout/include_navigation_row" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginTop="@dimen/spacing_normal" @@ -80,7 +80,7 @@ app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/settings_switch_row_notifications_test" - app:showDivider="@{true}" /> + app:subtitle="@{@string/settings_notifications_button_open_settings}" /> <androidx.constraintlayout.widget.Guideline android:id="@+id/guideline_top" diff --git a/Corona-Warn-App/src/main/res/layout/include_information_details.xml b/Corona-Warn-App/src/main/res/layout/include_information_details.xml index e2e8cbc02..2a56e4595 100644 --- a/Corona-Warn-App/src/main/res/layout/include_information_details.xml +++ b/Corona-Warn-App/src/main/res/layout/include_information_details.xml @@ -55,7 +55,7 @@ android:layout_marginTop="@dimen/spacing_tiny" android:text="@{body}" android:visibility="@{FormatterHelper.formatVisibilityText(body)}" - app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintEnd_toEndOf="@id/guideline_end" app:layout_constraintStart_toStartOf="@id/guideline_start" app:layout_constraintTop_toBottomOf="@+id/information_details_header_headline" tools:text="@string/settings_title" /> diff --git a/Corona-Warn-App/src/main/res/layout/include_settings_navigation_row.xml b/Corona-Warn-App/src/main/res/layout/include_navigation_row.xml similarity index 50% rename from Corona-Warn-App/src/main/res/layout/include_settings_navigation_row.xml rename to Corona-Warn-App/src/main/res/layout/include_navigation_row.xml index a4b2d167f..798262222 100644 --- a/Corona-Warn-App/src/main/res/layout/include_settings_navigation_row.xml +++ b/Corona-Warn-App/src/main/res/layout/include_navigation_row.xml @@ -1,6 +1,7 @@ <?xml version="1.0" encoding="utf-8"?> <layout xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:app="http://schemas.android.com/apk/res-auto"> + xmlns:app="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools"> <data> @@ -13,8 +14,12 @@ type="de.rki.coronawarnapp.ui.viewmodel.TracingViewModel" /> <variable - name="showDivider" - type="Boolean" /> + name="icon" + type="android.graphics.drawable.Drawable" /> + + <variable + name="subtitle" + type="String" /> </data> <androidx.constraintlayout.widget.ConstraintLayout @@ -22,7 +27,7 @@ android:layout_height="wrap_content"> <androidx.constraintlayout.widget.ConstraintLayout - android:id="@+id/settings_navigation_row" + android:id="@+id/navigation_row" style="@style/row" android:layout_width="0dp" android:layout_height="wrap_content" @@ -30,15 +35,31 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent"> + <ImageView + android:id="@+id/navigation_row_icon" + style="@style/icon" + android:layout_width="@dimen/icon_size_settings" + android:layout_height="@dimen/icon_size_settings" + android:layout_marginEnd="@dimen/spacing_small" + android:contentDescription="@string/lorem_ipsum" + android:src="@{icon}" + android:visibility="@{FormatterHelper.formatVisibilityIcon(icon)}" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toStartOf="@+id/navigation_row_subtitle" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" /> + <TextView - android:id="@+id/settings_navigation_row_subtitle" + android:id="@+id/navigation_row_subtitle" style="@style/textLink" android:layout_width="0dp" android:layout_height="wrap_content" - android:text="@string/settings_notifications_button_open_settings" + android:text="@{subtitle}" + app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toTopOf="parent" /> + app:layout_constraintStart_toEndOf="@+id/navigation_row_icon" + app:layout_constraintTop_toTopOf="parent" + tools:text="@string/settings_notifications_button_open_settings" /> </androidx.constraintlayout.widget.ConstraintLayout> diff --git a/Corona-Warn-App/src/main/res/values/strings.xml b/Corona-Warn-App/src/main/res/values/strings.xml index a8e6d1803..4b9e03875 100644 --- a/Corona-Warn-App/src/main/res/values/strings.xml +++ b/Corona-Warn-App/src/main/res/values/strings.xml @@ -84,10 +84,12 @@ <!-- #################################### Menu ###################################### --> + <!-- Todo remove 'final' comments once all text are finalized, strings flagged with final can still change however its unlikely --> + <!-- Todo pluralize strings when necessary --> + <!-- Todo include date formats when necessary --> <string name="menu_help">Überblick</string> - <string name="menu_information">App Informationen</string> - <string name="menu_settings">Einstellungen</string> - <string name="menu_share">Teilen Sie die App</string> + <string name="menu_information">App-Informationen</string> <!-- final --> + <string name="menu_settings">Einstellungen</string> <!-- final --> <!-- #################################### Notification (nt) @@ -113,36 +115,36 @@ ###################################### --> <!-- Generic - used in multiple cards --> - <string name="risk_card_body_contact">Bisher keine Risikobegegnung</string> + <string name="risk_card_body_contact">Bisher keine Risiko-Begegnungen</string> <!-- final --> <string name="risk_card_body_contact_value">%1$s Risikobegegnungen</string> - <string name="risk_card_body_saved_days">%1$s von 14 Tage protokolliert</string> + <string name="risk_card_body_saved_days">%1$s von 14 Tagen aktiv</string> <!-- final --> <string name="risk_card_body_not_yet_fetched">Kontakte wurden noch nicht überprüft.</string> <string name="risk_card_body_time_fetched">Aktualisiert: %1$s</string> <string name="risk_card_body_next_update">Nächste Aktualisierung in: %1$s</string> - <string name="risk_card_button_update">Aktualisieren</string> + <string name="risk_card_button_update">Aktualisieren</string> <!-- final --> <string name="risk_card_button_cooldown">Aktualisierung in %1$s</string> - <string name="risk_card_button_enable_tracing">Risikoermittlung einschalten</string> - <string name="risk_card_body_tracing_off">Schalten Sie die Risikoermittlung ein, um Ihr Risiko zu aktualisieren.</string> + <string name="risk_card_button_enable_tracing">Risiko-Ermittlung einschalten</string> <!-- final --> + <string name="risk_card_body_tracing_off">Aktivieren Sie die Risiko-Ermittlung, um Ihre heutige Risiko-Einschätzung zu berechnen.</string> <!-- final --> <!-- LOW_RISK --> - <string name="risk_card_low_risk_headline">Niedriges Risiko</string> + <string name="risk_card_low_risk_headline">Niedriges Risiko</string> <!-- final --> <!-- INCREASED_RISK --> - <string name="risk_card_increased_risk_headline">Erhöhtes Risiko</string> + <string name="risk_card_increased_risk_headline">Erhöhtes Risiko</string> <!-- final --> <string name="risk_card_increased_risk_body_contact_last">%1$s Tage seit der letzten Begegnung</string> <!-- UNKNOWN_RISK --> - <string name="risk_card_unknown_risk_headline">Unbekanntes Risiko</string> - <string name="risk_card_unknown_risk_body">Da Sie die Risiko-Ermittlung noch nicht lange genug aktiviert haben, konnten wir für Sie kein Infektionsrisiko berechnen.</string> + <string name="risk_card_unknown_risk_headline">Unbekanntes Risiko</string> <!-- final --> + <string name="risk_card_unknown_risk_body">Da Sie die Risiko-Ermittlung noch nicht lange genug aktiviert haben, konnten wir für Sie kein Infektionsrisiko berechnen.</string> <!-- final --> <!-- NO_CALCULATION_POSSIBLE --> <!-- TODO: no screens available --> - <string name="risk_card_no_calculation_possible_headline">Risikoermittlung gestoppt</string> + <string name="risk_card_no_calculation_possible_headline">Risiko-Ermittlung gestoppt</string> <!-- final --> <string name="risk_card_no_calculation_possible_body_saved_risk">Letzte Ermittlung:\n%1$s</string> <!-- OUTDATED_RISK--> <!-- TODO: no screens available --> - <string name="risk_card_outdated_risk_headline">Veraltetes Risiko</string> - <string name="risk_card_outdated_risk_body">Da Sie die Risiko-Ermittlung zu lange nicht aktiviert hatten, ist Ihr Infektionsrisiko veraltet. Bitte aktualisieren Sie Ihr Risiko. </string> + <string name="risk_card_outdated_risk_headline">Risiko-Ermittlung nicht möglich</string> <!-- final --> + <string name="risk_card_outdated_risk_body">Ihre Risiko-Berechnung konnte seit mehr als 24 Stunden nicht aktualisiert werden.</string> <!-- final --> <!-- LOADING --> - <string name="risk_card_loading_headline">Prüfung läuft</string> - <string name="risk_card_loading_body">Es werden aktuelle Daten heruntergeladen und geprüft. Dies kann mehrere Minuten dauern.</string> + <string name="risk_card_loading_headline">Prüfung läuft...</string> <!-- final --> + <string name="risk_card_loading_body">Es werden aktuelle Daten heruntergeladen und geprüft. Dies kann mehrere Minuten dauern.</string> <!-- final --> <!-- Test Result Card --> <string name="test_result_card_headline">Ihr Befund:</string> <string name="test_result_card_virus_name_text">SARS-CoV-2</string> @@ -169,18 +171,17 @@ <!-- #################################### Main ###################################### --> - <string name="main_title">Übersicht</string> <!-- About COVID-19 --> - <string name="main_about_headline">Häufige Fragen</string> - <string name="main_about_body">Finden Sie verlässliche Antworten und konkrete Informationen, wie Sie sich schützen und anderen helfen können.</string> + <string name="main_about_headline">Häufige Fragen</string> <!-- final --> + <string name="main_about_body">Hier finden Sie Antworten auf häufig gestellte Fragen rund um die Corona-Warn-App.</string> <!-- final --> <!-- #################################### Main - Share ###################################### --> - <string name="main_share_title">Corona-Warn-App teilen</string> - <string name="main_share_headline">Gemeinsam Corona bekämpfen</string> - <string name="main_share_body">Je mehr Menschen mitmachen, desto schneller durchbrechen wir dir Infektionsketten. Laden Sie Familie, Freunde und Bekannte zum Download ein!</string> - <string name="main_share_button">Download-Link versenden</string> + <string name="main_share_title">Corona-Warn-App teilen</string> <!-- final --> + <string name="main_share_headline">Gemeinsam Corona bekämpfen</string> <!-- final --> + <string name="main_share_body">Je mehr Menschen mitmachen, desto besser durchbrechen wir Infektionsketten. Laden Sie Familie, Freunde und Bekannte ein!</string> <!-- final --> + <string name="main_share_button">Download-Link versenden</string> <!-- final --> <string name="main_share_message"> Erzähle es jedem!<xliff:g id="line_break">\n</xliff:g> <xliff:g id="hashtag">#</xliff:g>zusammenDieKurveAbflachen<xliff:g id="line_break">\n</xliff:g> @@ -193,23 +194,27 @@ <!-- #################################### Risk Details ###################################### --> - <string name="risk_details_headline_behavior">Verhalten Sie sich richtig</string> - <string name="risk_details_behavior_body_stay_home">Bleiben Sie zu Hause</string> - <string name="risk_details_behavior_body_avoid_contact">Vermeiden Sie sozialen Kontakt</string> - <string name="risk_details_behavior_body_contact_doctor">Für Fragen zu auftretenden Symptomen, Testmöglichkeiten und weiteren Absonderungsmaßnahmen wenden Sie sich bitte an:</string> - <string name="risk_details_behavior_body_wash_hands">Waschen Sie Ihre Hände</string> - <string name="risk_details_behavior_body_wear_mask">Tragen Sie eine Schutzmaske</string> - <string name="risk_details_behavior_body_stay_away">Halten Sie 2 Meter Abstand zu anderen Personen</string> - <string name="risk_details_behavior_body_cough_sneeze">Husten und Niesen Sie in Ihre Armbeuge</string> - <string name="risk_details_behavior_increased_body_1">- Ihren Hausartzt/Ihre Hausärtztin</string> - <string name="risk_details_behavior_increased_body_2">- Den Kassenärtzlichen Notdienst (Tel: 116117)</string> - <string name="risk_details_behavior_increased_body_3">- Ihr Gesundheitsamt</string> - <string name="risk_details_headline_infection_risk">Infektionsrisiko</string> - <string name="risk_details_body_infection_risk">So wird Ihr Risiko ermittelt</string> + <string name="risk_details_headline_behavior">Verhalten</string> <!-- final --> + <string name="risk_details_subtitle_behavior">So verhalten Sie sich richtig</string> <!-- final --> + <string name="risk_details_behavior_body_stay_home">Begeben Sie sich umgehend nach Hause bzw. bleiben Sie zu Hause.</string> <!-- final --> + <string name="risk_details_behavior_body_contact_doctor">Für Fragen zu auftretenden Symptomen, Testmöglichkeiten und weiteren Isolationsmaßnahmen wenden Sie sich bitte an eine der folgenden Stellen:</string> <!-- final --> + <string name="risk_details_behavior_body_wash_hands">Waschen Sie Ihre Hände regelmäßig.</string> <!-- final --> + <string name="risk_details_behavior_body_wear_mask">Tragen Sie einen Mundschutz bei Kontakt mit anderen Personen.</string> <!-- final --> + <string name="risk_details_behavior_body_stay_away">Halten Sie mindestens 1,5 Meter Abstand zu anderen Personen.</string> <!-- final --> + <string name="risk_details_behavior_body_cough_sneeze">Niesen oder husten Sie in die Armbeuge oder in ein Taschentuch.</string> <!-- final --> + <string name="risk_details_behavior_increased_body_1">- Ihre Hausärztin/Ihren Hausarzt</string> <!-- final --> + <string name="risk_details_behavior_increased_body_2">- Den Kassenärztlichen Bereitschaftsdienst unter der Telefonnummer: 116117</string> <!-- final --> + <string name="risk_details_behavior_increased_body_3">- Ihr Gesundheitsamt</string> <!-- final --> + <string name="risk_details_headline_infection_risk">Infektionsrisiko</string> <!-- final --> + <string name="risk_details_subtitle_infection_risk_past">So wurde Ihr Risiko ermittelt</string> <!-- final --> + <string name="risk_details_subtitle_infection_risk">So wird Ihr Risiko ermittelt</string> <!-- final --> + <string name="risk_details_information_body_unknown_risk">Da Sie die Risiko-Ermittlung noch nicht lange genug aktiviert haben, konnten wir für Sie kein Infektionsrisiko berechnen.</string> <!-- final --> + <string name="risk_details_information_body_outdated_risk">Ihre Risiko-Berechnung konnte seit mehr als 24 Stunden nicht aktualisiert werden.</string> + <string name="risk_details_information_body_low_risk">Sie haben ein niedriges Infektionsrisiko, da keine Begegnung mit nachweislich Coronapositiv getesteten Personen aufgezeichnet wurde oder sich Ihre Begegnung auf kurze Zeit und einen größeren Abstand beschränkt hat.</string> <!-- final --> + <string name="risk_details_information_body_increased_risk">Sie haben ein erhöhtes Infektionsrisiko, da Sie zuletzt vor %1$s Tagen mindestens einer- Corona positiv-getesteten Person über einen längeren Zeitraum und mit einem geringen Abstand begegnet sind.</string> + <string name="risk_details_information_body_notice">Das Infektionsrisiko wird anhand der Daten der Risiko-Ermittlung unter Berücksichtigung von Abstand und Dauer lokal auf Ihrem Smartphone berechnet. Ihr Infektionsrisiko ist für niemanden einsehbar und wird nicht weitergegeben.</string> <!-- final --> <string name="risk_details_button_update">@string/risk_card_button_update</string> <string name="risk_details_button_enable_tracing">@string/risk_card_button_enable_tracing</string> - <!-- TODO check if needed --> - <string name="main_government_headline">Gesundheitsamt anrufen</string> <!-- #################################### Onboarding @@ -293,19 +298,27 @@ <!-- #################################### App Information ###################################### --> - <string name="information_title">Information</string> - <string name="information_about_title">Über die App</string> - <string name="information_about_headline">Gemeinsam Corona bekämpfen</string> - <string name="information_privacy_title">Datenschutzinformation</string> + <string name="information_title">App-Informationen</string> <!-- final --> + <string name="information_about_title">Über die App</string> <!-- final --> + <string name="information_about_headline">Gemeinsam Corona bekämpfen</string> <!-- final --> + <string name="information_about_body_emphasized">Das Robert Koch-Institut (RKI) als zentrale Einrichtung des Bundes im Bereich der Öffentlichen Gesundheit und als nationalesPublic-Health-Institut veröffentlicht die Corona-Warn-App für die gesamte Bundesregierung. Die App ist die digitale Ergänzung zu Abstandhalten, Hygiene und Alltagsmaske.</string> <!-- final --> + <string name="information_about_body">Wer sie nutzt, hilft, Infektionsketten schnell nachzuverfolgen und zu durchbrechen. Die App speichert dezentral – auf Ihrem Smartphone – Begegnungen mit anderen.Sie werden informiert, wenn Sie Kontakt mit nachweislich infizierten Personen hatten.Ihre Privatsphärebleibt dabeibestens geschützt.</string> <!-- final --> + <string name="information_privacy_title">Datenschutzinformation</string> <!-- final --> <string name="information_privacy_headline">@string/lorem_ipsum</string> - <string name="information_terms_title">Nutzungsbedingungen</string> + <string name="information_terms_title">Nutzungsbedingungen</string> <!-- final --> <string name="information_terms_headline">@string/lorem_ipsum</string> - <string name="information_contact_title">Kontakt</string> - <string name="information_contact_headline">Wie können wir Ihnen helfen?</string> - <string name="information_help_title">Häufige Fragen</string> - <string name="information_technical_title">Rechtliche Hinweise</string> + <string name="information_contact_title">Technische Hotline</string> <!-- final --> + <string name="information_contact_headline">Wie können wir Ihnen helfen?</string> <!-- final --> + <string name="information_contact_body">Für technische Fragen rund um die Corona-Warn-App können Sie sich direkt an unsere technische Hotline wenden.</string> <!-- final --> + <string name="information_contact_subtitle_phone">Technische Hotline:</string> <!-- final --> + <string name="information_contact_button_phone">+49 (0)800 7540001</string> <!-- final --> + <string name="information_contact_body_phone">Unser Kundenservice ist für Sie da.</string> <!-- final --> + <string name="information_contact_body_open">Unsere Öffnungszeiten:\nMo - Fr: 08:00 - 22:00 Uhr\nSa - So: 10:00 - 22:00 Uhr\nEs gelten die Preise Ihres Telefonanbieters.</string> + <string name="information_contact_body_other">Für gesundheitliche Fragen, wenden Sie sich bitte an Ihre Hausarztpraxis oder die Hotline des ärztlichen Bereitschaftsdienstes 116 117.</string> <!-- final --> + <string name="information_help_title">Häufige Fragen</string> <!-- final --> + <string name="information_technical_title">Rechtliche Hinweise</string> <!-- final --> <string name="information_technical_headline">FTP/SFTP/FTPS client uses libs</string> - <string name="information_legal_title">Impressum</string> + <string name="information_legal_title">Impressum</string> <!-- final --> <string name="information_legal_headline">Herausgeber</string> <string name="information_legal_body">SAP Deutschland SE & Co. KG \n \nHauptsitz: \nSAP Deutschland SE & Co. KG \nHasso-Plattner-Ring 7 \n69190 Walldorf </string> -- GitLab