diff --git a/Corona-Warn-App/build.gradle b/Corona-Warn-App/build.gradle index 42a8a52644a54e1eba45274d50d213543087e770..9760611739f12827e1b6a0076f108f353b718134 100644 --- a/Corona-Warn-App/build.gradle +++ b/Corona-Warn-App/build.gradle @@ -33,8 +33,9 @@ android { applicationId 'de.rki.coronawarnapp' minSdkVersion 23 targetSdkVersion 29 - versionCode 34 - versionName "1.1.1" + versionCode 35 + versionName "1.2.0" + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" resConfigs "de", "en", "tr" @@ -124,13 +125,8 @@ android { } buildFeatures { - dataBinding { - enabled true - } - - viewBinding { - enabled true - } + dataBinding true + viewBinding true } compileOptions { @@ -247,6 +243,7 @@ dependencies { // TESTING testImplementation 'junit:junit:4.13' + testImplementation "android.arch.core:core-testing:1.1.1" testImplementation "org.mockito:mockito-core:3.3.3" testImplementation('org.robolectric:robolectric:4.3.1') { exclude group: 'com.google.protobuf' diff --git a/Corona-Warn-App/src/deviceForTesters/res/layout/fragment_main.xml b/Corona-Warn-App/src/deviceForTesters/res/layout/fragment_main.xml index b6e0b96a71048be33c020c09f603a7e42041b382..c9ea631a2771d87afddc4286cd75eb42b461ffa1 100644 --- a/Corona-Warn-App/src/deviceForTesters/res/layout/fragment_main.xml +++ b/Corona-Warn-App/src/deviceForTesters/res/layout/fragment_main.xml @@ -97,7 +97,7 @@ android:layout_width="@dimen/match_constraint" android:layout_height="wrap_content" android:focusable="false" - android:text="@{FormatterSettingsHelper.formatTracingDescription(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isConnectionEnabled())}" + android:text="@{FormatterSettingsHelper.formatTracingDescription(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isConnectionEnabled(), settingsViewModel.isLocationEnabled())}" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> @@ -107,8 +107,8 @@ android:layout_width="@dimen/icon_size_main_card" android:layout_height="@dimen/icon_size_main_card" android:importantForAccessibility="no" - app:animation="@{FormatterSettingsHelper.formatTracingIcon(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isConnectionEnabled())}" - app:animation_tint="@{FormatterSettingsHelper.formatTracingIconColor(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isConnectionEnabled())}" + app:animation="@{FormatterSettingsHelper.formatTracingIcon(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isConnectionEnabled(), settingsViewModel.isLocationEnabled())}" + app:animation_tint="@{FormatterSettingsHelper.formatTracingIconColor(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isConnectionEnabled(), settingsViewModel.isLocationEnabled())}" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="parent" /> diff --git a/Corona-Warn-App/src/main/AndroidManifest.xml b/Corona-Warn-App/src/main/AndroidManifest.xml index c0208b74d0c28e425600d0f5634c0729e41994f8..e1533a7fb164fc5994d7fc97748d07ea5f0f0824 100644 --- a/Corona-Warn-App/src/main/AndroidManifest.xml +++ b/Corona-Warn-App/src/main/AndroidManifest.xml @@ -11,6 +11,7 @@ android:required="true" /> <uses-feature android:name="android.hardware.bluetooth" /> + <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.BLUETOOTH" android:required="true" /> diff --git a/Corona-Warn-App/src/main/assets/technical_de.html b/Corona-Warn-App/src/main/assets/technical_de.html index d11a441253ab72ed11db3f72add22e85936b4e70..396367104674cc8e299ce74bfd5cf4497eab69b8 100644 --- a/Corona-Warn-App/src/main/assets/technical_de.html +++ b/Corona-Warn-App/src/main/assets/technical_de.html @@ -6,14 +6,6 @@ to our attention by contacting us via this email: corona-warn-app.opensource@sap.com</p> <h2>Components:</h2> -<p>Component: JUnit 4 - Licensor: The JUnit Team - Website: https://junit.org/junit4/ - License: Eclipse Public License 1.0</p> -<p>Component: Java Hamcrest - Licensor: www.hamcrest.org - Website: https://github.com/hamcrest/JavaHamcrest - License: BSD-style license</p> <p>Component: android-database-sqlcipher Licensor: Zetetic LLC Website: https://www.zetetic.net/sqlcipher/ diff --git a/Corona-Warn-App/src/main/assets/technical_en.html b/Corona-Warn-App/src/main/assets/technical_en.html index d11a441253ab72ed11db3f72add22e85936b4e70..396367104674cc8e299ce74bfd5cf4497eab69b8 100644 --- a/Corona-Warn-App/src/main/assets/technical_en.html +++ b/Corona-Warn-App/src/main/assets/technical_en.html @@ -6,14 +6,6 @@ to our attention by contacting us via this email: corona-warn-app.opensource@sap.com</p> <h2>Components:</h2> -<p>Component: JUnit 4 - Licensor: The JUnit Team - Website: https://junit.org/junit4/ - License: Eclipse Public License 1.0</p> -<p>Component: Java Hamcrest - Licensor: www.hamcrest.org - Website: https://github.com/hamcrest/JavaHamcrest - License: BSD-style license</p> <p>Component: android-database-sqlcipher Licensor: Zetetic LLC Website: https://www.zetetic.net/sqlcipher/ diff --git a/Corona-Warn-App/src/main/assets/technical_tr.html b/Corona-Warn-App/src/main/assets/technical_tr.html index d11a441253ab72ed11db3f72add22e85936b4e70..396367104674cc8e299ce74bfd5cf4497eab69b8 100644 --- a/Corona-Warn-App/src/main/assets/technical_tr.html +++ b/Corona-Warn-App/src/main/assets/technical_tr.html @@ -6,14 +6,6 @@ to our attention by contacting us via this email: corona-warn-app.opensource@sap.com</p> <h2>Components:</h2> -<p>Component: JUnit 4 - Licensor: The JUnit Team - Website: https://junit.org/junit4/ - License: Eclipse Public License 1.0</p> -<p>Component: Java Hamcrest - Licensor: www.hamcrest.org - Website: https://github.com/hamcrest/JavaHamcrest - License: BSD-style license</p> <p>Component: android-database-sqlcipher Licensor: Zetetic LLC Website: https://www.zetetic.net/sqlcipher/ diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/CoronaWarnApplication.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/CoronaWarnApplication.kt index 3d2291df2fecbb66a8581ac00f82224468363ea7..6e18db8360fa9b57c0081305285d84b419e518f1 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/CoronaWarnApplication.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/CoronaWarnApplication.kt @@ -7,7 +7,6 @@ import android.content.Context import android.content.IntentFilter import android.content.pm.ActivityInfo import android.os.Bundle -import android.view.WindowManager import androidx.lifecycle.Lifecycle import androidx.lifecycle.LifecycleObserver import androidx.lifecycle.OnLifecycleEvent @@ -95,15 +94,6 @@ class CoronaWarnApplication : Application(), LifecycleObserver, @SuppressLint("SourceLockedOrientationActivity") override fun onActivityCreated(activity: Activity, savedInstanceState: Bundle?) { - // prevents screenshot of the app for all activities, - // except for deviceForTesters build flavor, which is used for testing - if (BuildConfig.FLAVOR != "deviceForTesters") { - activity.window.setFlags( - WindowManager.LayoutParams.FLAG_SECURE, - WindowManager.LayoutParams.FLAG_SECURE - ) - } - // set screen orientation to portrait activity.requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_USER_PORTRAIT } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/exception/reporting/ExceptionReporter.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/exception/reporting/ExceptionReporter.kt index 1d0e0cac0be11a853ca2da2ca56c087f8d96c580..d18d4e2ce9437dea46fd596f21e6a754e25bd863 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/exception/reporting/ExceptionReporter.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/exception/reporting/ExceptionReporter.kt @@ -6,7 +6,9 @@ import com.google.android.gms.common.api.ApiException import de.rki.coronawarnapp.CoronaWarnApplication import de.rki.coronawarnapp.R import de.rki.coronawarnapp.exception.ExceptionCategory +import de.rki.coronawarnapp.exception.reporting.ReportingConstants.STATUS_CODE_GOOGLE_API_FAIL import de.rki.coronawarnapp.exception.reporting.ReportingConstants.STATUS_CODE_GOOGLE_UPDATE_NEEDED +import de.rki.coronawarnapp.exception.reporting.ReportingConstants.STATUS_CODE_REACHED_REQUEST_LIMIT import java.io.PrintWriter import java.io.StringWriter @@ -38,6 +40,10 @@ fun Throwable.report( if (this.statusCode == STATUS_CODE_GOOGLE_UPDATE_NEEDED) { errorMessage = R.string.errors_google_update_needed + } else if (this.statusCode == STATUS_CODE_REACHED_REQUEST_LIMIT || + this.statusCode == STATUS_CODE_GOOGLE_API_FAIL + ) { + errorMessage = R.string.errors_google_api_error } intent.putExtra( diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/exception/reporting/ReportingConstants.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/exception/reporting/ReportingConstants.kt index 446fa7ba2a0176935f6db19a13dd6c73341cc12c..16e021b5c85da260a870e0e2b0bfefdcbe63dcda 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/exception/reporting/ReportingConstants.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/exception/reporting/ReportingConstants.kt @@ -13,4 +13,6 @@ object ReportingConstants { val ERROR_REPORT_UNKNOWN_ERROR = ErrorCodes.REPORTED_EXCEPTION_UNKNOWN_PROBLEM.code const val STATUS_CODE_GOOGLE_UPDATE_NEEDED = 17 + const val STATUS_CODE_REACHED_REQUEST_LIMIT = 39508 + const val STATUS_CODE_GOOGLE_API_FAIL = 10 } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/risk/RiskLevel.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/risk/RiskLevel.kt index 8fe72d797583b4509fa059de668954b280beebc3..05267394d6cabd8aa691caf1ae5c8a8deeba455e 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/risk/RiskLevel.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/risk/RiskLevel.kt @@ -23,8 +23,14 @@ enum class RiskLevel(val raw: Int) { // mapped to: unknown risk - outdated results // This risk status is shown if timeSinceLastExposureCalculation > maxStaleExposureRiskRange + // and background jobs are enabled UNKNOWN_RISK_OUTDATED_RESULTS(RiskLevelConstants.UNKNOWN_RISK_OUTDATED_RESULTS), + // mapped to: unknown risk - outdated results manual + // This risk status is shown if timeSinceLastExposureCalculation > maxStaleExposureRiskRange + // and background jobs are disabled + UNKNOWN_RISK_OUTDATED_RESULTS_MANUAL(RiskLevelConstants.UNKNOWN_RISK_OUTDATED_RESULTS_MANUAL), + // mapped to no UI state // this should never happen UNDETERMINED(RiskLevelConstants.UNDETERMINED); @@ -37,6 +43,7 @@ enum class RiskLevel(val raw: Int) { RiskLevelConstants.LOW_LEVEL_RISK -> LOW_LEVEL_RISK RiskLevelConstants.INCREASED_RISK -> INCREASED_RISK RiskLevelConstants.UNKNOWN_RISK_OUTDATED_RESULTS -> UNKNOWN_RISK_OUTDATED_RESULTS + RiskLevelConstants.UNKNOWN_RISK_OUTDATED_RESULTS_MANUAL -> UNKNOWN_RISK_OUTDATED_RESULTS_MANUAL else -> UNDETERMINED } } @@ -46,7 +53,8 @@ enum class RiskLevel(val raw: Int) { arrayOf( UNDETERMINED, NO_CALCULATION_POSSIBLE_TRACING_OFF, - UNKNOWN_RISK_OUTDATED_RESULTS + UNKNOWN_RISK_OUTDATED_RESULTS, + UNKNOWN_RISK_OUTDATED_RESULTS_MANUAL ) private val HIGH_RISK_LEVELS = arrayOf(INCREASED_RISK) private val LOW_RISK_LEVELS = arrayOf( @@ -54,6 +62,7 @@ enum class RiskLevel(val raw: Int) { NO_CALCULATION_POSSIBLE_TRACING_OFF, LOW_LEVEL_RISK, UNKNOWN_RISK_OUTDATED_RESULTS, + UNKNOWN_RISK_OUTDATED_RESULTS_MANUAL, UNDETERMINED ) diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/risk/RiskLevelConstants.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/risk/RiskLevelConstants.kt index 9e98834b6cd573b14616774b41eff2cd32885562..cf752e7f4e0361e13f58490741f6f16179bed094 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/risk/RiskLevelConstants.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/risk/RiskLevelConstants.kt @@ -6,5 +6,6 @@ object RiskLevelConstants { const val LOW_LEVEL_RISK = 2 const val INCREASED_RISK = 3 const val UNKNOWN_RISK_OUTDATED_RESULTS = 4 + const val UNKNOWN_RISK_OUTDATED_RESULTS_MANUAL = 5 const val UNDETERMINED = 9001 } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/service/applicationconfiguration/ApplicationConfigurationService.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/service/applicationconfiguration/ApplicationConfigurationService.kt index c8f8d61882679af31a63cceca26e7a23334916b9..790beb9c0da5aed08d6478f66b9b245d83a278cf 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/service/applicationconfiguration/ApplicationConfigurationService.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/service/applicationconfiguration/ApplicationConfigurationService.kt @@ -54,7 +54,7 @@ object ApplicationConfigurationService { this.exposureConfig.attenuation.gt27Le33DbmValue, this.exposureConfig.attenuation.gt15Le27DbmValue, this.exposureConfig.attenuation.gt10Le15DbmValue, - this.exposureConfig.attenuation.lt10DbmValue + this.exposureConfig.attenuation.le10DbmValue ) .setMinimumRiskScore(this.minRiskScore) .setDurationAtAttenuationThresholds( diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/storage/SettingsRepository.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/storage/SettingsRepository.kt index 5cf13c0629f878b0f3f2c31d4b485d3597640799..d556fb829201288fcb745ae453f6bc8cb84d8e4d 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/storage/SettingsRepository.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/storage/SettingsRepository.kt @@ -25,6 +25,7 @@ object SettingsRepository { val isManualKeyRetrievalEnabled = MutableLiveData(true) val isConnectionEnabled = MutableLiveData(true) val isBluetoothEnabled = MutableLiveData(true) + val isLocationEnabled = MutableLiveData(true) val isBackgroundJobEnabled = MutableLiveData(true) val isBackgroundPriorityEnabled = MutableLiveData(false) val manualKeyRetrievalTime = MutableLiveData<Long>() @@ -95,6 +96,15 @@ object SettingsRepository { isBluetoothEnabled.postValue(value) } + /** + * Refresh global location state to point out that tracing isn't working + * + * @see ConnectivityHelper + */ + fun updateLocationEnabled(value: Boolean) { + isLocationEnabled.postValue(value) + } + /** * Refresh global bluetooth state to point out that tracing isn't working * diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/transaction/RiskLevelTransaction.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/transaction/RiskLevelTransaction.kt index 01adeab172dc8f5cbe498d7683c9a3f5642e2336..d7daa2c0dcba960f702b50dcffb4d57b0a463ee4 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/transaction/RiskLevelTransaction.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/transaction/RiskLevelTransaction.kt @@ -14,6 +14,7 @@ import de.rki.coronawarnapp.risk.RiskLevel.NO_CALCULATION_POSSIBLE_TRACING_OFF import de.rki.coronawarnapp.risk.RiskLevel.UNDETERMINED import de.rki.coronawarnapp.risk.RiskLevel.UNKNOWN_RISK_INITIAL import de.rki.coronawarnapp.risk.RiskLevel.UNKNOWN_RISK_OUTDATED_RESULTS +import de.rki.coronawarnapp.risk.RiskLevel.UNKNOWN_RISK_OUTDATED_RESULTS_MANUAL import de.rki.coronawarnapp.risk.RiskLevelCalculation import de.rki.coronawarnapp.risk.TimeVariables import de.rki.coronawarnapp.server.protocols.ApplicationConfigurationOuterClass @@ -299,8 +300,16 @@ object RiskLevelTransaction : Transaction() { if (timeSinceLastDiagnosisKeyFetchFromServer.millisecondsToHours() > TimeVariables.getMaxStaleExposureRiskRange() && isActiveTracingTimeAboveThreshold() ) { - return@executeState UNKNOWN_RISK_OUTDATED_RESULTS.also { - Timber.v("diagnosis keys outdated and active tracing time is above threshold") + if (ConnectivityHelper.isBackgroundJobEnabled(CoronaWarnApplication.getAppContext())) { + return@executeState UNKNOWN_RISK_OUTDATED_RESULTS.also { + Timber.v("diagnosis keys outdated and active tracing time is above threshold") + Timber.v("manual mode not active (background jobs enabled)") + } + } else { + return@executeState UNKNOWN_RISK_OUTDATED_RESULTS_MANUAL.also { + Timber.v("diagnosis keys outdated and active tracing time is above threshold") + Timber.v("manual mode active (background jobs disabled)") + } } } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/MainActivity.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/MainActivity.kt index 0abb83ed3ddaa5fd31884b49de05054d4201d1cd..afb0a44be48cac15f526bdfff3843400c2252eb4 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/MainActivity.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/MainActivity.kt @@ -60,6 +60,19 @@ class MainActivity : AppCompatActivity() { } } + /** + * Register location callback. + */ + private val callbackLocation = object : ConnectivityHelper.LocationCallback() { + override fun onLocationAvailable() { + settingsViewModel.updateLocationEnabled(true) + } + + override fun onLocationUnavailable() { + settingsViewModel.updateLocationEnabled(false) + } + } + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) @@ -73,6 +86,7 @@ class MainActivity : AppCompatActivity() { super.onResume() ConnectivityHelper.registerNetworkStatusCallback(this, callbackNetwork) ConnectivityHelper.registerBluetoothStatusCallback(this, callbackBluetooth) + ConnectivityHelper.registerLocationStatusCallback(this, callbackLocation) settingsViewModel.updateBackgroundJobEnabled(ConnectivityHelper.isBackgroundJobEnabled(this)) scheduleWork() } @@ -84,6 +98,7 @@ class MainActivity : AppCompatActivity() { super.onPause() ConnectivityHelper.unregisterNetworkStatusCallback(this, callbackNetwork) ConnectivityHelper.unregisterBluetoothStatusCallback(this, callbackBluetooth) + ConnectivityHelper.unregisterLocationStatusCallback(this, callbackLocation) } override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingNotificationsFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingNotificationsFragment.kt index c6768a15f48d752bc6b7ce8ba8022a4eee645790..f8f62bcc663b04012e9e1d89a2a5b8c5ec4d6c87 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingNotificationsFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingNotificationsFragment.kt @@ -1,6 +1,9 @@ package de.rki.coronawarnapp.ui.onboarding +import android.content.Intent +import android.net.Uri import android.os.Bundle +import android.provider.Settings.ACTION_APPLICATION_DETAILS_SETTINGS import android.view.LayoutInflater import android.view.View import android.view.ViewGroup @@ -8,7 +11,10 @@ import android.view.accessibility.AccessibilityEvent import androidx.appcompat.app.AlertDialog import androidx.core.app.NotificationManagerCompat import androidx.fragment.app.Fragment +import de.rki.coronawarnapp.R import de.rki.coronawarnapp.databinding.FragmentOnboardingNotificationsBinding +import de.rki.coronawarnapp.util.ConnectivityHelper +import de.rki.coronawarnapp.util.DialogHelper /** * This fragment ask the user if he wants to get notifications and finishes the onboarding afterwards. @@ -50,13 +56,43 @@ class OnboardingNotificationsFragment : Fragment() { private fun setButtonOnClickListener() { binding.onboardingButtonNext.setOnClickListener { - navigateToMain() + checkForBackgroundJobDisabled() } binding.onboardingButtonBack.buttonIcon.setOnClickListener { (activity as OnboardingActivity).goBack() } } + private fun checkForBackgroundJobDisabled() { + if (!ConnectivityHelper.isBackgroundJobEnabled(requireActivity())) { + showBackgroundJobDisabledNotification() + } else { + navigateToMain() + } + } + + private fun showBackgroundJobDisabledNotification() { + val dialog = DialogHelper.DialogInstance( + requireActivity(), + R.string.onboarding_background_fetch_dialog_headline, + R.string.onboarding_background_fetch_dialog_body, + R.string.onboarding_background_fetch_dialog_button_positive, + R.string.onboarding_background_fetch_dialog_button_negative, + false, + { + val intent = Intent( + ACTION_APPLICATION_DETAILS_SETTINGS, + Uri.fromParts("package", requireContext().packageName, null) + ) + intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) + startActivity(intent) + }, + { + navigateToMain() + }) + DialogHelper.showDialog(dialog) + } + private fun navigateToMain() { (requireActivity() as OnboardingActivity).completeOnboarding() } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/SettingsTracingFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/SettingsTracingFragment.kt index 41410d237e76fe53629c93c55b186e212c0e3272..c14ac3879bea3b2231dcbfa6c6a45f4ff7ae28cd 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/SettingsTracingFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/SettingsTracingFragment.kt @@ -16,6 +16,7 @@ import de.rki.coronawarnapp.exception.reporting.report import de.rki.coronawarnapp.nearby.InternalExposureNotificationClient import de.rki.coronawarnapp.nearby.InternalExposureNotificationPermissionHelper import de.rki.coronawarnapp.storage.LocalData +import de.rki.coronawarnapp.storage.SettingsRepository.isLocationEnabled import de.rki.coronawarnapp.ui.main.MainActivity import de.rki.coronawarnapp.ui.viewmodel.SettingsViewModel import de.rki.coronawarnapp.ui.viewmodel.TracingViewModel @@ -114,11 +115,14 @@ class SettingsTracingFragment : Fragment(), settingsViewModel.isBluetoothEnabled.value ?: throw IllegalArgumentException() val isConnectionEnabled = settingsViewModel.isConnectionEnabled.value ?: throw IllegalArgumentException() + val isLocationEnabled = + settingsViewModel.isLocationEnabled.value ?: throw IllegalArgumentException() // check if the row is clickable, this adds the switch behaviour val isEnabled = formatTracingSwitchEnabled( isTracingEnabled, isBluetoothEnabled, - isConnectionEnabled + isConnectionEnabled, + isLocationEnabled ) if (isEnabled) startStopTracing() } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionResultPositiveOtherWarningFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionResultPositiveOtherWarningFragment.kt index 9a678f9af0ab6b2069dd3933179d64e1b70ed750..901a01df567b0a6c716d99f9de78cb985f491862 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionResultPositiveOtherWarningFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionResultPositiveOtherWarningFragment.kt @@ -129,10 +129,7 @@ class SubmissionResultPositiveOtherWarningFragment : Fragment(), submissionViewModel.submissionState.observe(viewLifecycleOwner, Observer { if (it == ApiRequestState.SUCCESS) { - findNavController().doNavigate( - SubmissionResultPositiveOtherWarningFragmentDirections - .actionSubmissionResultPositiveOtherWarningFragmentToSubmissionDoneFragment() - ) + navigateToSubmissionDoneFragment() } }) } @@ -152,6 +149,16 @@ class SubmissionResultPositiveOtherWarningFragment : Fragment(), .actionSubmissionResultPositiveOtherWarningFragmentToSubmissionResultFragment() ) + /** + * Navigate to submission done Fragment + * @see SubmissionDoneFragment + */ + private fun navigateToSubmissionDoneFragment() = + findNavController().doNavigate( + SubmissionResultPositiveOtherWarningFragmentDirections + .actionSubmissionResultPositiveOtherWarningFragmentToSubmissionDoneFragment() + ) + private fun initiateWarningOthers() { if (tracingViewModel.isTracingEnabled.value != true) { val tracingRequiredDialog = DialogHelper.DialogInstance( @@ -177,7 +184,11 @@ class SubmissionResultPositiveOtherWarningFragment : Fragment(), // InternalExposureNotificationPermissionHelper - callbacks override fun onKeySharePermissionGranted(keys: List<TemporaryExposureKey>) { super.onKeySharePermissionGranted(keys) - submissionViewModel.submitDiagnosisKeys(keys) + if (keys.isNotEmpty()) { + submissionViewModel.submitDiagnosisKeys(keys) + } else { + navigateToSubmissionDoneFragment() + } } override fun onFailure(exception: Exception?) { diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionTestResultFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionTestResultFragment.kt index 0de4d9df9f2b0a760ea8d27c8595af1336edae09..3f8dc9632ff942d9d255dd10caa63e7832d2e694 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionTestResultFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionTestResultFragment.kt @@ -127,6 +127,7 @@ class SubmissionTestResultFragment : Fragment() { private fun setButtonOnClickListener() { binding.submissionTestResultButtonPendingRefresh.setOnClickListener { submissionViewModel.refreshDeviceUIState() + binding.submissionTestResultContainer.sendAccessibilityEvent(AccessibilityEvent.TYPE_ANNOUNCEMENT) } binding.submissionTestResultButtonPendingRemoveTest.setOnClickListener { diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/viewmodel/SettingsViewModel.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/viewmodel/SettingsViewModel.kt index c3e32a21d2382ab22e58c905758041298d1f4d49..486954f1ac74cc6912e24ec6619ba8cf616092c9 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/viewmodel/SettingsViewModel.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/viewmodel/SettingsViewModel.kt @@ -21,6 +21,8 @@ class SettingsViewModel : ViewModel() { SettingsRepository.isConnectionEnabled val isBluetoothEnabled: LiveData<Boolean> = SettingsRepository.isBluetoothEnabled + val isLocationEnabled: LiveData<Boolean> = + SettingsRepository.isLocationEnabled // Will impact UI if background activity is not permitted, persistent storing is not necessary val isBackgroundJobEnabled: LiveData<Boolean> = SettingsRepository.isBackgroundJobEnabled @@ -100,6 +102,15 @@ class SettingsViewModel : ViewModel() { SettingsRepository.updateBluetoothEnabled(value) } + /** + * Update location enabled + * + * @param value + */ + fun updateLocationEnabled(value: Boolean) { + SettingsRepository.updateLocationEnabled(value) + } + /** * Update background job enabled * diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/ConnectivityHelper.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/ConnectivityHelper.kt index d14c4aa8471aca304bffa9c99b25a3b3d5cd7508..907cfc76a28ff8a8bac44b3dd7187189f8916e40 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/ConnectivityHelper.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/ConnectivityHelper.kt @@ -6,11 +6,13 @@ import android.content.BroadcastReceiver import android.content.Context import android.content.Intent import android.content.IntentFilter +import android.location.LocationManager import android.net.ConnectivityManager import android.net.Network import android.net.NetworkCapabilities import android.net.NetworkRequest import android.os.Build +import androidx.core.location.LocationManagerCompat import de.rki.coronawarnapp.exception.ExceptionCategory import de.rki.coronawarnapp.exception.reporting.report import timber.log.Timber @@ -71,6 +73,63 @@ object ConnectivityHelper { callback.recevier = null } + /** + * Register location state change listener. + * + * @param context the context + * @param callback the location state callback + * + */ + fun registerLocationStatusCallback(context: Context, callback: LocationCallback) { + val receiver = object : BroadcastReceiver() { + var isGpsEnabled: Boolean = false + var isNetworkEnabled: Boolean = false + + override fun onReceive(context: Context, intent: Intent) { + intent.action?.let { act -> + if (act.matches("android.location.PROVIDERS_CHANGED".toRegex())) { + val locationManager = + context.getSystemService(Context.LOCATION_SERVICE) as LocationManager + isGpsEnabled = + locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER) + isNetworkEnabled = + locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER) + + if (isGpsEnabled || isNetworkEnabled) { + callback.onLocationAvailable() + Timber.d("Location enabled") + } else { + callback.onLocationUnavailable() + Timber.d("Location disabled") + } + } + } + } + } + callback.recevier = receiver + context.registerReceiver( + callback.recevier, + IntentFilter("android.location.PROVIDERS_CHANGED") + ) + // location state doesn't change when you register + if (isLocationEnabled(context)) + callback.onLocationAvailable() + else + callback.onLocationUnavailable() + } + + /** + * Unregister location state change listener. + * + * @param context the context + * @param callback the location state callback + * + */ + fun unregisterLocationStatusCallback(context: Context, callback: LocationCallback) { + context.unregisterReceiver(callback.recevier) + callback.recevier = null + } + /** * Unregister network state change callback. * @@ -158,6 +217,17 @@ object ConnectivityHelper { return bAdapter.isEnabled } + /** + * Get location enabled status. + * + * @return current location status + * + */ + fun isLocationEnabled(context: Context): Boolean { + val locationManager = context.getSystemService(Context.LOCATION_SERVICE) as LocationManager + return LocationManagerCompat.isLocationEnabled(locationManager) + } + /** * Get network enabled status. * @@ -190,6 +260,24 @@ object ConnectivityHelper { abstract fun onBluetoothUnavailable() } + /** + * Abstract location state change callback. + * + * @see BroadcastReceiver + */ + abstract class LocationCallback { + var recevier: BroadcastReceiver? = null + + /** + * Called when location is turned on. + */ + abstract fun onLocationAvailable() + + /** + * Called when location is turned off. + */ + abstract fun onLocationUnavailable() + } /** * Abstract network state change callback. * 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 47f676062053bd77d887ed92ecf02347fb1f9eb5..7672309236548ea35a4f606bc6b31dc401394883 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 @@ -56,6 +56,8 @@ fun formatRiskLevelHeadline(riskLevelScore: Int?, isRefreshing: Boolean?): Strin RiskLevelConstants.LOW_LEVEL_RISK -> appContext.getString(R.string.risk_card_low_risk_headline) RiskLevelConstants.UNKNOWN_RISK_INITIAL -> appContext.getString(R.string.risk_card_unknown_risk_headline) + RiskLevelConstants.UNKNOWN_RISK_OUTDATED_RESULTS_MANUAL -> + appContext.getString(R.string.risk_card_unknown_risk_headline) else -> "" } } @@ -75,7 +77,10 @@ fun formatRiskBody(riskLevelScore: Int?): String { RiskLevelConstants.UNKNOWN_RISK_OUTDATED_RESULTS -> appContext.getString(R.string.risk_card_outdated_risk_body) RiskLevelConstants.NO_CALCULATION_POSSIBLE_TRACING_OFF -> appContext.getString(R.string.risk_card_body_tracing_off) - RiskLevelConstants.UNKNOWN_RISK_INITIAL -> appContext.getString(R.string.risk_card_unknown_risk_body) + RiskLevelConstants.UNKNOWN_RISK_INITIAL -> + appContext.getString(R.string.risk_card_unknown_risk_body) + RiskLevelConstants.UNKNOWN_RISK_OUTDATED_RESULTS_MANUAL -> + appContext.getString(R.string.risk_card_outdated_manual_risk_body) else -> "" } } @@ -96,7 +101,8 @@ fun formatRiskSavedRisk( val appContext = CoronaWarnApplication.getAppContext() return if ( riskLevelScore == RiskLevelConstants.NO_CALCULATION_POSSIBLE_TRACING_OFF || - riskLevelScore == RiskLevelConstants.UNKNOWN_RISK_OUTDATED_RESULTS + riskLevelScore == RiskLevelConstants.UNKNOWN_RISK_OUTDATED_RESULTS || + riskLevelScore == RiskLevelConstants.UNKNOWN_RISK_OUTDATED_RESULTS_MANUAL ) { when (riskLevelScoreLastSuccessfulCalculated) { RiskLevelConstants.LOW_LEVEL_RISK, @@ -264,7 +270,8 @@ fun formatTimeFetched( } } RiskLevelConstants.NO_CALCULATION_POSSIBLE_TRACING_OFF, - RiskLevelConstants.UNKNOWN_RISK_OUTDATED_RESULTS -> { + RiskLevelConstants.UNKNOWN_RISK_OUTDATED_RESULTS, + RiskLevelConstants.UNKNOWN_RISK_OUTDATED_RESULTS_MANUAL -> { when (riskLevelScoreLastSuccessfulCalculated) { RiskLevelConstants.LOW_LEVEL_RISK, RiskLevelConstants.INCREASED_RISK, @@ -334,7 +341,8 @@ fun formatNextUpdateContentDescription( RiskLevelConstants.INCREASED_RISK -> appContext.getString( R.string.risk_card_body_next_update ) + " " + appContext.getString( - R.string.accessibility_button) + R.string.accessibility_button + ) else -> "" } } @@ -611,6 +619,7 @@ fun formatBehaviorIconBackground(riskLevelScore: Int?): Int { RiskLevelConstants.INCREASED_RISK -> appContext.getColor(R.color.colorSemanticHighRisk) RiskLevelConstants.LOW_LEVEL_RISK -> appContext.getColor(R.color.colorSemanticLowRisk) RiskLevelConstants.UNKNOWN_RISK_INITIAL -> appContext.getColor(R.color.colorSemanticNeutralRisk) + RiskLevelConstants.UNKNOWN_RISK_OUTDATED_RESULTS_MANUAL -> appContext.getColor(R.color.colorSemanticNeutralRisk) else -> appContext.getColor(R.color.colorSurface2) } } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/formatter/FormatterSettingsHelper.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/formatter/FormatterSettingsHelper.kt index 2bb50a259c164cda6ddc5923601a38a58c456f44..17a7a340c432973b53ac3fff8b29d799021d9b6d 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/formatter/FormatterSettingsHelper.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/formatter/FormatterSettingsHelper.kt @@ -72,16 +72,17 @@ fun formatNotificationIllustrationText(notifications: Boolean): String = * @param tracing * @param bluetooth * @param connection + * @param location * @return String */ -fun formatTracingStatusText(tracing: Boolean, bluetooth: Boolean, connection: Boolean): String { +fun formatTracingStatusText(tracing: Boolean, bluetooth: Boolean, connection: Boolean, location: Boolean): String { val appContext = CoronaWarnApplication.getAppContext() - return when (tracingStatusHelper(tracing, bluetooth, connection)) { + return when (tracingStatusHelper(tracing, bluetooth, connection, location)) { TracingStatusHelper.CONNECTION, TracingStatusHelper.BLUETOOTH -> appContext.getString(R.string.settings_tracing_status_restricted) TracingStatusHelper.TRACING_ACTIVE -> appContext.getString(R.string.settings_tracing_status_active) - TracingStatusHelper.TRACING_INACTIVE -> + TracingStatusHelper.TRACING_INACTIVE, TracingStatusHelper.LOCATION -> appContext.getString(R.string.settings_tracing_status_inactive) else -> "" } @@ -102,15 +103,18 @@ fun formatSwitchContentDescription(subtitle: String, status: String): String = " * @param tracing * @param bluetooth * @param connection + * @param location * @return String */ -fun formatTracingDescription(tracing: Boolean, bluetooth: Boolean, connection: Boolean): String { +fun formatTracingDescription(tracing: Boolean, bluetooth: Boolean, connection: Boolean, location: Boolean): String { val appContext = CoronaWarnApplication.getAppContext() - return when (tracingStatusHelper(tracing, bluetooth, connection)) { + return when (tracingStatusHelper(tracing, bluetooth, connection, location)) { TracingStatusHelper.CONNECTION -> appContext.getString(R.string.settings_tracing_body_connection_inactive) TracingStatusHelper.BLUETOOTH -> appContext.getString(R.string.settings_tracing_body_bluetooth_inactive) + TracingStatusHelper.LOCATION -> + appContext.getString(R.string.settings_tracing_body_inactive_location) TracingStatusHelper.TRACING_ACTIVE -> appContext.getString(R.string.settings_tracing_body_active) TracingStatusHelper.TRACING_INACTIVE -> @@ -126,17 +130,26 @@ fun formatTracingDescription(tracing: Boolean, bluetooth: Boolean, connection: B * @param tracing * @param bluetooth * @param connection + * @param location * @return String */ -fun formatTracingContentDescription(tracing: Boolean, bluetooth: Boolean, connection: Boolean): String { +fun formatTracingContentDescription( + tracing: Boolean, + bluetooth: Boolean, + connection: Boolean, + location: Boolean +): String { val appContext = CoronaWarnApplication.getAppContext() - return when (tracingStatusHelper(tracing, bluetooth, connection)) { + return when (tracingStatusHelper(tracing, bluetooth, connection, location)) { TracingStatusHelper.CONNECTION -> appContext.getString(R.string.settings_tracing_body_connection_inactive) + " " + appContext.getString(R.string.accessibility_button) TracingStatusHelper.BLUETOOTH -> appContext.getString(R.string.settings_tracing_body_bluetooth_inactive) + " " + appContext.getString(R.string.accessibility_button) + TracingStatusHelper.LOCATION -> + appContext.getString(R.string.settings_tracing_body_inactive_location) + + " " + appContext.getString(R.string.accessibility_button) TracingStatusHelper.TRACING_ACTIVE -> appContext.getString(R.string.settings_tracing_body_active) + " " + appContext.getString(R.string.accessibility_button) @@ -167,15 +180,17 @@ fun formatTracingStatusBody(activeTracingDaysInRetentionPeriod: Long): String { * @param tracing * @param bluetooth * @param connection + * @param location * @return String */ fun formatTracingIllustrationText( tracing: Boolean, bluetooth: Boolean, - connection: Boolean + connection: Boolean, + location: Boolean ): String { val appContext = CoronaWarnApplication.getAppContext() - return when (tracingStatusHelper(tracing, bluetooth, connection)) { + return when (tracingStatusHelper(tracing, bluetooth, connection, location)) { TracingStatusHelper.CONNECTION -> appContext.getString(R.string.settings_tracing_connection_illustration_description_inactive) TracingStatusHelper.BLUETOOTH -> @@ -255,16 +270,17 @@ fun formatNotificationImage(notifications: Boolean): Drawable? = * @param tracing * @param bluetooth * @param connection + * @param location * @return */ -fun formatSettingsTracingIconColor(tracing: Boolean, bluetooth: Boolean, connection: Boolean): Int { +fun formatSettingsTracingIconColor(tracing: Boolean, bluetooth: Boolean, connection: Boolean, location: Boolean): Int { val appContext = CoronaWarnApplication.getAppContext() - return when (tracingStatusHelper(tracing, bluetooth, connection)) { + return when (tracingStatusHelper(tracing, bluetooth, connection, location)) { TracingStatusHelper.CONNECTION, TracingStatusHelper.BLUETOOTH -> appContext.getColor(R.color.colorTextPrimary3) TracingStatusHelper.TRACING_ACTIVE -> appContext.getColor(R.color.colorAccentTintIcon) - TracingStatusHelper.TRACING_INACTIVE -> + TracingStatusHelper.TRACING_INACTIVE, TracingStatusHelper.LOCATION -> appContext.getColor(R.color.colorTextSemanticRed) else -> appContext.getColor(R.color.colorTextSemanticRed) } @@ -276,19 +292,23 @@ fun formatSettingsTracingIconColor(tracing: Boolean, bluetooth: Boolean, connect * @param tracing * @param bluetooth * @param connection + * @param location * @return */ fun formatSettingsTracingIcon( tracing: Boolean, bluetooth: Boolean, - connection: Boolean + connection: Boolean, + location: Boolean ): Drawable? { val appContext = CoronaWarnApplication.getAppContext() - return when (tracingStatusHelper(tracing, bluetooth, connection)) { + return when (tracingStatusHelper(tracing, bluetooth, connection, location)) { TracingStatusHelper.CONNECTION, TracingStatusHelper.BLUETOOTH, TracingStatusHelper.TRACING_ACTIVE -> appContext.getDrawable(R.drawable.ic_settings_tracing_active_small) + TracingStatusHelper.LOCATION -> + appContext.getDrawable(R.drawable.ic_settings_location_inactive_small) TracingStatusHelper.TRACING_INACTIVE -> appContext.getDrawable(R.drawable.ic_settings_tracing_inactive_small) else -> appContext.getDrawable(R.drawable.ic_settings_tracing_inactive_small) @@ -324,10 +344,11 @@ fun formatSettingsBackgroundPriorityIconColor( * @param tracing * @param bluetooth * @param connection + * @param location * @return Boolean */ -fun formatTracingSwitch(tracing: Boolean, bluetooth: Boolean, connection: Boolean): Boolean { - return when (tracingStatusHelper(tracing, bluetooth, connection)) { +fun formatTracingSwitch(tracing: Boolean, bluetooth: Boolean, connection: Boolean, location: Boolean): Boolean { + return when (tracingStatusHelper(tracing, bluetooth, connection, location)) { TracingStatusHelper.TRACING_ACTIVE -> true else -> false } @@ -339,10 +360,11 @@ fun formatTracingSwitch(tracing: Boolean, bluetooth: Boolean, connection: Boolea * @param tracing * @param bluetooth * @param connection + * @param location * @return Boolean */ -fun formatTracingSwitchEnabled(tracing: Boolean, bluetooth: Boolean, connection: Boolean): Boolean { - return when (tracingStatusHelper(tracing, bluetooth, connection)) { +fun formatTracingSwitchEnabled(tracing: Boolean, bluetooth: Boolean, connection: Boolean, location: Boolean): Boolean { + return when (tracingStatusHelper(tracing, bluetooth, connection, location)) { TracingStatusHelper.TRACING_ACTIVE, TracingStatusHelper.TRACING_INACTIVE -> true else -> false } @@ -354,12 +376,14 @@ fun formatTracingSwitchEnabled(tracing: Boolean, bluetooth: Boolean, connection: * @param tracing * @param bluetooth * @param connection + * @param location * @return Drawable */ -fun formatTracingIcon(tracing: Boolean, bluetooth: Boolean, connection: Boolean): Int? { - return when (tracingStatusHelper(tracing, bluetooth, connection)) { +fun formatTracingIcon(tracing: Boolean, bluetooth: Boolean, connection: Boolean, location: Boolean): Int? { + return when (tracingStatusHelper(tracing, bluetooth, connection, location)) { TracingStatusHelper.BLUETOOTH -> R.drawable.ic_settings_tracing_bluetooth_inactive TracingStatusHelper.CONNECTION -> R.drawable.ic_settings_tracing_connection_inactive + TracingStatusHelper.LOCATION -> R.drawable.ic_settings_location_inactive_small TracingStatusHelper.TRACING_ACTIVE -> R.raw.ic_settings_tracing_animated else -> R.drawable.ic_settings_tracing_inactive } @@ -371,11 +395,12 @@ fun formatTracingIcon(tracing: Boolean, bluetooth: Boolean, connection: Boolean) * @param tracing * @param bluetooth * @param connection + * @param location * @return Int */ -fun formatTracingIconColor(tracing: Boolean, bluetooth: Boolean, connection: Boolean): Int { +fun formatTracingIconColor(tracing: Boolean, bluetooth: Boolean, connection: Boolean, location: Boolean): Int { val appContext = CoronaWarnApplication.getAppContext() - return when (tracingStatusHelper(tracing, bluetooth, connection)) { + return when (tracingStatusHelper(tracing, bluetooth, connection, location)) { TracingStatusHelper.TRACING_ACTIVE -> appContext.getColor(R.color.colorAccentTintIcon) else -> @@ -389,11 +414,12 @@ fun formatTracingIconColor(tracing: Boolean, bluetooth: Boolean, connection: Boo * @param tracing * @param bluetooth * @param connection + * @param location * @return Drawable */ -fun formatTracingStatusImage(tracing: Boolean, bluetooth: Boolean, connection: Boolean): Drawable? { +fun formatTracingStatusImage(tracing: Boolean, bluetooth: Boolean, connection: Boolean, location: Boolean): Drawable? { val appContext = CoronaWarnApplication.getAppContext() - return when (tracingStatusHelper(tracing, bluetooth, connection)) { + return when (tracingStatusHelper(tracing, bluetooth, connection, location)) { TracingStatusHelper.BLUETOOTH -> appContext.getDrawable(R.drawable.ic_settings_illustration_bluetooth_off) TracingStatusHelper.CONNECTION -> @@ -411,14 +437,16 @@ fun formatTracingStatusImage(tracing: Boolean, bluetooth: Boolean, connection: B * @param tracing * @param bluetooth * @param connection + * @param location * @return Int */ -fun formatTracingStatusConnection(tracing: Boolean, bluetooth: Boolean, connection: Boolean): Int = +fun formatTracingStatusConnection(tracing: Boolean, bluetooth: Boolean, connection: Boolean, location: Boolean): Int = formatVisibility( tracingStatusHelper( tracing, bluetooth, - connection + connection, + location ) == TracingStatusHelper.CONNECTION ) @@ -428,18 +456,21 @@ fun formatTracingStatusConnection(tracing: Boolean, bluetooth: Boolean, connecti * @param tracing * @param bluetooth * @param connection + * @param location * @return Int */ fun formatTracingStatusVisibilityBluetooth( tracing: Boolean, bluetooth: Boolean, - connection: Boolean + connection: Boolean, + location: Boolean ): Int = formatVisibility( tracingStatusHelper( tracing, bluetooth, - connection + connection, + location ) == TracingStatusHelper.BLUETOOTH ) @@ -449,14 +480,16 @@ fun formatTracingStatusVisibilityBluetooth( * @param tracing * @param bluetooth * @param connection + * @param location * @return Int */ fun formatTracingStatusVisibilityTracing( tracing: Boolean, bluetooth: Boolean, - connection: Boolean + connection: Boolean, + location: Boolean ): Int { - val tracingStatus = tracingStatusHelper(tracing, bluetooth, connection) + val tracingStatus = tracingStatusHelper(tracing, bluetooth, connection, location) return formatVisibility( tracingStatus == TracingStatusHelper.TRACING_ACTIVE || tracingStatus == TracingStatusHelper.TRACING_INACTIVE diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/formatter/TracingStatusHelper.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/formatter/TracingStatusHelper.kt index f7328e1aa89bb511a90c5d5f09d7cfa5f0c6e9d0..419fecc8da05c4d861825be448f535ba948a2d1b 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/formatter/TracingStatusHelper.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/formatter/TracingStatusHelper.kt @@ -9,13 +9,15 @@ object TracingStatusHelper { const val TRACING_INACTIVE = 1 const val BLUETOOTH = 2 const val CONNECTION = 3 + const val LOCATION = 4 } /** * The following table explains the different stati which can appear in the ui. - * This follows this prioritization: Tracing, Bluetooth, Connection + * This follows this prioritization: Tracing, Bluetooth, Connection, Location * Connection will only be relevant in one exact case, Bluetooth is relevant in two different cases, - * but independently from the Connection status. And in every other case Tracing will be shown. + * but independently from the Connection status. And in every other case Tracing will be shown + * except when location is disabled in which case a location related warning will always be shown as it is required for bluetooth tracing. * * | Tracing | Bluetooth | Connection | Result | * |---------|-----------|------------|------------| @@ -29,16 +31,25 @@ object TracingStatusHelper { * | ON | ON | OFF | CONNECTION | * *circle has to be disabled via another formatter * + * NB --- If location is disabled, the status will always show a location related warning, regardless of the other connectivity states. + * * @param tracing * @param bluetooth * @param connection + * @param location * @return Int */ -fun tracingStatusHelper(tracing: Boolean, bluetooth: Boolean, connection: Boolean): Int { +fun tracingStatusHelper(tracing: Boolean, bluetooth: Boolean, connection: Boolean, location: Boolean): Int { return if (tracing && bluetooth && !connection) { TracingStatusHelper.CONNECTION - } else if (tracing && !bluetooth) { + } else if (tracing && location && !connection) { + TracingStatusHelper.CONNECTION + } else if (tracing && location && !bluetooth) { TracingStatusHelper.BLUETOOTH + } else if (tracing && !location) { + TracingStatusHelper.LOCATION + } else if (!location) { + TracingStatusHelper.LOCATION } else if (tracing) { TracingStatusHelper.TRACING_ACTIVE } else { diff --git a/Corona-Warn-App/src/main/res/drawable/ic_location.xml b/Corona-Warn-App/src/main/res/drawable/ic_location.xml new file mode 100644 index 0000000000000000000000000000000000000000..0b91d07cd4fef1b4556b5ef599a3da3b1a7b7885 --- /dev/null +++ b/Corona-Warn-App/src/main/res/drawable/ic_location.xml @@ -0,0 +1,18 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="40dp" + android:height="40dp" + android:viewportWidth="40" + android:viewportHeight="40"> + <path + android:fillColor="#2296F3" + android:fillType="evenOdd" + android:pathData="M20,0L20,0A20,20 0,0 1,40 20L40,20A20,20 0,0 1,20 40L20,40A20,20 0,0 1,0 20L0,20A20,20 0,0 1,20 0z" + android:strokeWidth="1" + android:strokeColor="#00000000" /> + <path + android:fillColor="#FFFFFF" + android:fillType="nonZero" + android:pathData="M20,10C16.134,10 13,13.134 13,17C13,22 20,30 20,30C20,30 27,22 27,17C27,13.134 23.866,10 20,10ZM20,19.5C18.619,19.5 17.5,18.381 17.5,17C17.5,15.619 18.619,14.5 20,14.5C21.381,14.5 22.5,15.619 22.5,17C22.5,18.381 21.381,19.5 20,19.5Z" + android:strokeWidth="1" + android:strokeColor="#00000000" /> +</vector> diff --git a/Corona-Warn-App/src/main/res/drawable/ic_settings_background_priority_disabled.xml b/Corona-Warn-App/src/main/res/drawable/ic_settings_background_priority_disabled.xml index 6107eb6fd917c32438faefd8ecd979964ffff2fd..c55f5e5d72a7c0666cfcbb03f76e28a6b1a4f326 100644 --- a/Corona-Warn-App/src/main/res/drawable/ic_settings_background_priority_disabled.xml +++ b/Corona-Warn-App/src/main/res/drawable/ic_settings_background_priority_disabled.xml @@ -3,10 +3,10 @@ android:height="40dp" android:viewportWidth="40" android:viewportHeight="40"> - <path - android:pathData="M17.44,25.7C18.59,26.51 19.99,27 21.5,27C22.9375,27 24.2729,26.5681 25.3838,25.8269L26.8184,27.2609C25.3284,28.3542 23.4895,29 21.5,29C19.44,29 17.54,28.3 16.02,27.14L16.02,27.14ZM13.943,11.398L14.0095,11.4567L29.3036,26.7509C29.5792,27.0265 29.5792,27.4735 29.3036,27.7491C29.0491,28.0036 28.6487,28.0232 28.3718,27.8079L28.3053,27.7491L13.0112,12.455C12.7355,12.1794 12.7355,11.7324 13.0112,11.4567C13.2657,11.2023 13.666,11.1827 13.943,11.398ZM21.5,11C26.47,11 30.5,15.03 30.5,20C30.5,21.9619 29.872,23.7773 28.8062,25.2561L27.3697,23.8189C28.0847,22.7211 28.5,21.4097 28.5,20C28.5,16.13 25.37,13 21.5,13C20.0903,13 18.7789,13.4153 17.6811,14.1303L16.2439,12.6938C17.7227,11.628 19.5381,11 21.5,11ZM14.2391,14.6816L15.6731,16.1162C14.9319,17.2271 14.5,18.5625 14.5,20L14.5,20L17.5,20L13.5,24L9.5,20L12.5,20C12.5,18.0105 13.1458,16.1716 14.2391,14.6816Z" - android:strokeWidth="1" - android:fillColor="#C00F2D" - android:fillType="nonZero" - android:strokeColor="#00000000"/> + <path + android:fillColor="#C00F2D" + android:fillType="nonZero" + android:pathData="M17.44,25.7C18.59,26.51 19.99,27 21.5,27C22.9375,27 24.2729,26.5681 25.3838,25.8269L26.8184,27.2609C25.3284,28.3542 23.4895,29 21.5,29C19.44,29 17.54,28.3 16.02,27.14L16.02,27.14ZM13.943,11.398L14.0095,11.4567L29.3036,26.7509C29.5792,27.0265 29.5792,27.4735 29.3036,27.7491C29.0491,28.0036 28.6487,28.0232 28.3718,27.8079L28.3053,27.7491L13.0112,12.455C12.7355,12.1794 12.7355,11.7324 13.0112,11.4567C13.2657,11.2023 13.666,11.1827 13.943,11.398ZM21.5,11C26.47,11 30.5,15.03 30.5,20C30.5,21.9619 29.872,23.7773 28.8062,25.2561L27.3697,23.8189C28.0847,22.7211 28.5,21.4097 28.5,20C28.5,16.13 25.37,13 21.5,13C20.0903,13 18.7789,13.4153 17.6811,14.1303L16.2439,12.6938C17.7227,11.628 19.5381,11 21.5,11ZM14.2391,14.6816L15.6731,16.1162C14.9319,17.2271 14.5,18.5625 14.5,20L14.5,20L17.5,20L13.5,24L9.5,20L12.5,20C12.5,18.0105 13.1458,16.1716 14.2391,14.6816Z" + android:strokeWidth="1" + android:strokeColor="#00000000" /> </vector> diff --git a/Corona-Warn-App/src/main/res/drawable/ic_settings_background_priority_enabled.xml b/Corona-Warn-App/src/main/res/drawable/ic_settings_background_priority_enabled.xml index ef4ebe1ae2ded1a896273f9732e66007147e5bbb..b93cf3b780cec0bf633d0ba8bd32eeb2b789d61b 100644 --- a/Corona-Warn-App/src/main/res/drawable/ic_settings_background_priority_enabled.xml +++ b/Corona-Warn-App/src/main/res/drawable/ic_settings_background_priority_enabled.xml @@ -3,10 +3,10 @@ android:height="40dp" android:viewportWidth="40" android:viewportHeight="40"> - <path - android:pathData="M23.5,20C23.5,18.9 22.6,18 21.5,18C20.4,18 19.5,18.9 19.5,20C19.5,21.1 20.4,22 21.5,22C22.6,22 23.5,21.1 23.5,20ZM21.5,11C16.53,11 12.5,15.03 12.5,20L9.5,20L13.5,24L17.5,20L14.5,20C14.5,16.13 17.63,13 21.5,13C25.37,13 28.5,16.13 28.5,20C28.5,23.87 25.37,27 21.5,27C19.99,27 18.59,26.51 17.44,25.7L16.02,27.14C17.54,28.3 19.44,29 21.5,29C26.47,29 30.5,24.97 30.5,20C30.5,15.03 26.47,11 21.5,11Z" - android:strokeWidth="1" - android:fillColor="#007FAD" - android:fillType="nonZero" - android:strokeColor="#00000000"/> + <path + android:fillColor="#007FAD" + android:fillType="nonZero" + android:pathData="M23.5,20C23.5,18.9 22.6,18 21.5,18C20.4,18 19.5,18.9 19.5,20C19.5,21.1 20.4,22 21.5,22C22.6,22 23.5,21.1 23.5,20ZM21.5,11C16.53,11 12.5,15.03 12.5,20L9.5,20L13.5,24L17.5,20L14.5,20C14.5,16.13 17.63,13 21.5,13C25.37,13 28.5,16.13 28.5,20C28.5,23.87 25.37,27 21.5,27C19.99,27 18.59,26.51 17.44,25.7L16.02,27.14C17.54,28.3 19.44,29 21.5,29C26.47,29 30.5,24.97 30.5,20C30.5,15.03 26.47,11 21.5,11Z" + android:strokeWidth="1" + android:strokeColor="#00000000" /> </vector> diff --git a/Corona-Warn-App/src/main/res/drawable/ic_settings_location_inactive_small.xml b/Corona-Warn-App/src/main/res/drawable/ic_settings_location_inactive_small.xml new file mode 100644 index 0000000000000000000000000000000000000000..83082663fc22f90d9ff235e98a9c6ce188bc32b6 --- /dev/null +++ b/Corona-Warn-App/src/main/res/drawable/ic_settings_location_inactive_small.xml @@ -0,0 +1,12 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="41dp" + android:height="40dp" + android:viewportWidth="41" + android:viewportHeight="40"> + <path + android:pathData="M20.5,14.5C21.88,14.5 23,15.62 23,17C23,17.74 22.67,18.39 22.17,18.85L25.8,22.48C26.78,20.62 27.5,18.68 27.5,17C27.5,13.13 24.37,10 20.5,10C18.52,10 16.74,10.83 15.46,12.15L18.65,15.34C19.11,14.82 19.76,14.5 20.5,14.5ZM24.87,24.1L20.24,19.47L20.13,19.36L11.77,11L10.5,12.27L13.68,15.45C13.57,15.95 13.5,16.47 13.5,17C13.5,22.25 20.5,30 20.5,30C20.5,30 22.17,28.15 23.88,25.65L27.23,29L28.5,27.73L24.87,24.1Z" + android:strokeWidth="1" + android:fillColor="#C00F2D" + android:fillType="nonZero" + android:strokeColor="#00000000"/> +</vector> diff --git a/Corona-Warn-App/src/main/res/layout/fragment_main.xml b/Corona-Warn-App/src/main/res/layout/fragment_main.xml index db25a3b62509f578377020b3256282b8d701256b..35dc3600f18a3b26521fd02f03a14cd8a747456d 100644 --- a/Corona-Warn-App/src/main/res/layout/fragment_main.xml +++ b/Corona-Warn-App/src/main/res/layout/fragment_main.xml @@ -102,8 +102,8 @@ android:layout_width="@dimen/match_constraint" android:layout_height="wrap_content" android:focusable="false" - android:contentDescription="@{FormatterSettingsHelper.formatTracingContentDescription(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isConnectionEnabled())}" - android:text="@{FormatterSettingsHelper.formatTracingDescription(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isConnectionEnabled())}" + android:contentDescription="@{FormatterSettingsHelper.formatTracingContentDescription(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isConnectionEnabled(), settingsViewModel.isLocationEnabled())}" + android:text="@{FormatterSettingsHelper.formatTracingDescription(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isConnectionEnabled(), settingsViewModel.isLocationEnabled())}" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> @@ -113,8 +113,8 @@ android:layout_width="@dimen/icon_size_main_card" android:layout_height="@dimen/icon_size_main_card" android:importantForAccessibility="no" - app:animation="@{FormatterSettingsHelper.formatTracingIcon(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isConnectionEnabled())}" - app:animation_tint="@{FormatterSettingsHelper.formatTracingIconColor(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isConnectionEnabled())}" + app:animation="@{FormatterSettingsHelper.formatTracingIcon(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isConnectionEnabled(), settingsViewModel.isLocationEnabled())}" + app:animation_tint="@{FormatterSettingsHelper.formatTracingIconColor(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isConnectionEnabled(), settingsViewModel.isLocationEnabled())}" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="parent" /> diff --git a/Corona-Warn-App/src/main/res/layout/fragment_onboarding_tracing.xml b/Corona-Warn-App/src/main/res/layout/fragment_onboarding_tracing.xml index c927d4d090d9087e92c539f04b60ca1b276bd575..5ca28ca9cb7d674df2a84595c3b952bdeb932e5d 100644 --- a/Corona-Warn-App/src/main/res/layout/fragment_onboarding_tracing.xml +++ b/Corona-Warn-App/src/main/res/layout/fragment_onboarding_tracing.xml @@ -50,6 +50,9 @@ app:headlineCard="@{@string/onboarding_tracing_headline_consent}" app:illustration="@{@drawable/ic_illustration_tracing_on}" app:illustrationDescription="@{@string/onboarding_tracing_illustration_description}" + app:locationBodyCard="@{@string/onboarding_tracing_location_body}" + app:locationHeadlineCard="@{@string/onboarding_tracing_location_headline}" + app:locationIconCard="@{@drawable/ic_location}" app:layout_constraintBottom_toTopOf="@+id/onboarding_button_next" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" diff --git a/Corona-Warn-App/src/main/res/layout/fragment_settings.xml b/Corona-Warn-App/src/main/res/layout/fragment_settings.xml index 3051209a2f00d76b70441277c2f70e77a15d9745..4df42821d4d0137e6cf212041570d3fa722c7090 100644 --- a/Corona-Warn-App/src/main/res/layout/fragment_settings.xml +++ b/Corona-Warn-App/src/main/res/layout/fragment_settings.xml @@ -54,13 +54,13 @@ android:layout_height="wrap_content" android:layout_marginTop="@dimen/spacing_normal" app:body="@{@string/settings_tracing_body_description}" - app:color="@{FormatterSettingsHelper.formatSettingsTracingIconColor(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isConnectionEnabled())}" - app:icon="@{FormatterSettingsHelper.formatSettingsTracingIcon(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isConnectionEnabled())}" + app:color="@{FormatterSettingsHelper.formatSettingsTracingIconColor(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isConnectionEnabled(), settingsViewModel.isLocationEnabled())}" + app:icon="@{FormatterSettingsHelper.formatSettingsTracingIcon(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isConnectionEnabled(), settingsViewModel.isLocationEnabled())}" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:showDivider="@{true}" - app:statusText="@{FormatterSettingsHelper.formatTracingStatusText(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isConnectionEnabled())}" + app:statusText="@{FormatterSettingsHelper.formatTracingStatusText(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isConnectionEnabled(), settingsViewModel.isLocationEnabled())}" app:subtitle="@{@string/settings_tracing_title}" app:tracingViewModel="@{tracingViewModel}" /> diff --git a/Corona-Warn-App/src/main/res/layout/fragment_settings_tracing.xml b/Corona-Warn-App/src/main/res/layout/fragment_settings_tracing.xml index 4bd2c7699e02e6d935a5b0be8ccf60e817ebc50a..80e975524092a9ed1ee1aba5750c2b9d6bbc872b 100644 --- a/Corona-Warn-App/src/main/res/layout/fragment_settings_tracing.xml +++ b/Corona-Warn-App/src/main/res/layout/fragment_settings_tracing.xml @@ -55,8 +55,8 @@ android:layout_width="0dp" android:layout_height="wrap_content" app:headline="@{@string/settings_tracing_headline}" - app:illustration="@{FormatterSettingsHelper.formatTracingStatusImage(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isConnectionEnabled())}" - app:illustrationDescription="@{FormatterSettingsHelper.formatTracingIllustrationText(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isConnectionEnabled())}" + app:illustration="@{FormatterSettingsHelper.formatTracingStatusImage(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isConnectionEnabled(), settingsViewModel.isLocationEnabled())}" + app:illustrationDescription="@{FormatterSettingsHelper.formatTracingIllustrationText(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isConnectionEnabled(), settingsViewModel.isLocationEnabled())}" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> @@ -67,13 +67,13 @@ android:layout_width="@dimen/match_constraint" android:layout_height="wrap_content" android:layout_marginTop="@dimen/spacing_normal" - app:enabled="@{FormatterSettingsHelper.formatTracingSwitchEnabled(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isConnectionEnabled())}" + app:enabled="@{FormatterSettingsHelper.formatTracingSwitchEnabled(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isConnectionEnabled(), settingsViewModel.isLocationEnabled())}" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/settings_tracing_header_details" app:showDivider="@{true}" - app:status="@{FormatterSettingsHelper.formatTracingSwitch(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isConnectionEnabled())}" - app:statusText="@{FormatterSettingsHelper.formatTracingStatusText(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isConnectionEnabled())}" + app:status="@{FormatterSettingsHelper.formatTracingSwitch(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isConnectionEnabled(), settingsViewModel.isLocationEnabled())}" + app:statusText="@{FormatterSettingsHelper.formatTracingStatusText(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isConnectionEnabled(), settingsViewModel.isLocationEnabled())}" app:subtitle="@{@string/settings_tracing_title}" /> <androidx.constraintlayout.widget.ConstraintLayout @@ -90,7 +90,7 @@ layout="@layout/include_tracing_status_card" android:layout_width="@dimen/match_constraint" android:layout_height="wrap_content" - android:visibility="@{FormatterSettingsHelper.formatTracingStatusVisibilityBluetooth(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isConnectionEnabled())}" + android:visibility="@{FormatterSettingsHelper.formatTracingStatusVisibilityBluetooth(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isConnectionEnabled(), settingsViewModel.isLocationEnabled())}" app:body="@{@string/settings_tracing_status_bluetooth_body}" app:buttonText="@{@string/settings_tracing_status_bluetooth_button}" app:headline="@{@string/settings_tracing_status_bluetooth_headline}" @@ -104,7 +104,7 @@ layout="@layout/include_tracing_status_card" android:layout_width="@dimen/match_constraint" android:layout_height="wrap_content" - android:visibility="@{FormatterSettingsHelper.formatTracingStatusConnection(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isConnectionEnabled())}" + android:visibility="@{FormatterSettingsHelper.formatTracingStatusConnection(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isConnectionEnabled(), settingsViewModel.isLocationEnabled())}" app:body="@{@string/settings_tracing_status_connection_body}" app:buttonText="@{@string/settings_tracing_status_connection_button}" app:headline="@{@string/settings_tracing_status_connection_headline}" @@ -119,7 +119,7 @@ android:layout_width="0dp" android:layout_height="wrap_content" android:focusable="true" - android:visibility="@{FormatterSettingsHelper.formatTracingStatusVisibilityTracing(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isConnectionEnabled())}" + android:visibility="@{FormatterSettingsHelper.formatTracingStatusVisibilityTracing(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isConnectionEnabled(), settingsViewModel.isLocationEnabled())}" app:layout_constraintEnd_toStartOf="@+id/guideline_end" app:layout_constraintStart_toEndOf="@+id/guideline_start" app:layout_constraintTop_toTopOf="parent" diff --git a/Corona-Warn-App/src/main/res/layout/fragment_submission_test_result.xml b/Corona-Warn-App/src/main/res/layout/fragment_submission_test_result.xml index 3f8a927308e11cb9d894bdcc7dda3fb64d65455e..c20b0c5689108648b759031b7c4de4046c2ee56b 100644 --- a/Corona-Warn-App/src/main/res/layout/fragment_submission_test_result.xml +++ b/Corona-Warn-App/src/main/res/layout/fragment_submission_test_result.xml @@ -14,6 +14,7 @@ <androidx.constraintlayout.widget.ConstraintLayout android:id="@+id/submission_test_result_container" android:contentDescription="@string/submission_test_result_headline" + android:accessibilityLiveRegion="assertive" android:layout_width="match_parent" android:layout_height="match_parent"> diff --git a/Corona-Warn-App/src/main/res/layout/include_onboarding.xml b/Corona-Warn-App/src/main/res/layout/include_onboarding.xml index c9fa1240ce949d9b7d269350dd071b2ce2488ef1..9a3fe133c68c1a6d16034e7254d091e091404eb5 100644 --- a/Corona-Warn-App/src/main/res/layout/include_onboarding.xml +++ b/Corona-Warn-App/src/main/res/layout/include_onboarding.xml @@ -41,6 +41,18 @@ name="bodyEmphasized" type="String" /> + <variable + name="locationIconCard" + type="android.graphics.drawable.Drawable" /> + + <variable + name="locationHeadlineCard" + type="String" /> + + <variable + name="locationBodyCard" + type="String" /> + </data> <ScrollView @@ -119,18 +131,33 @@ tools:text="@string/onboarding_body_emphasized" /> <include - android:id="@+id/onboarding_card" + android:id="@+id/onboarding_location_card" layout="@layout/include_tracing_status_card" android:layout_width="@dimen/match_constraint" android:layout_height="wrap_content" android:layout_marginTop="@dimen/spacing_large" + android:focusable="true" + android:visibility="@{FormatterHelper.formatVisibilityText(locationHeadlineCard)}" + app:body="@{locationBodyCard}" + app:headline="@{locationHeadlineCard}" + app:icon="@{locationIconCard}" + app:layout_constraintEnd_toStartOf="@+id/guideline_card_end" + app:layout_constraintStart_toStartOf="@+id/guideline_card_start" + app:layout_constraintTop_toBottomOf="@+id/onboarding_body_emphasized" /> + + <include + android:id="@+id/onboarding_card" + layout="@layout/include_tracing_status_card" + android:layout_width="@dimen/match_constraint" + android:layout_height="wrap_content" + android:layout_marginTop="@dimen/spacing_medium" android:visibility="@{FormatterHelper.formatVisibilityText(headlineCard)}" app:body="@{bodyCard}" app:headline="@{headlineCard}" android:focusable="true" app:layout_constraintEnd_toStartOf="@+id/guideline_card_end" app:layout_constraintStart_toStartOf="@+id/guideline_card_start" - app:layout_constraintTop_toBottomOf="@+id/onboarding_body_emphasized" /> + app:layout_constraintTop_toBottomOf="@+id/onboarding_location_card" /> <androidx.constraintlayout.widget.Guideline android:id="@+id/guideline_start" diff --git a/Corona-Warn-App/src/main/res/raw-night/ic_settings_tracing_animated.json b/Corona-Warn-App/src/main/res/raw-night/ic_settings_tracing_animated.json new file mode 100644 index 0000000000000000000000000000000000000000..402acbcceade50f2d6e03c441c39e18b61219c75 --- /dev/null +++ b/Corona-Warn-App/src/main/res/raw-night/ic_settings_tracing_animated.json @@ -0,0 +1,1183 @@ +{ + "v": "5.6.10", + "fr": 30, + "ip": 0, + "op": 61, + "w": 102, + "h": 102, + "nm": "Icons_Risikoermittlung_Dark_Final-Animation 2", + "ddd": 0, + "assets": [], + "layers": [ + { + "ddd": 0, + "ind": 1, + "ty": 3, + "nm": "Null 1", + "sr": 1, + "ks": { + "o": { + "a": 0, + "k": 0, + "ix": 11 + }, + "r": { + "a": 0, + "k": 0, + "ix": 10 + }, + "p": { + "a": 0, + "k": [ + 49.5, + 51, + 0 + ], + "ix": 2 + }, + "a": { + "a": 0, + "k": [ + 0, + 0, + 0 + ], + "ix": 1 + }, + "s": { + "a": 0, + "k": [ + 97, + 97, + 100 + ], + "ix": 6 + } + }, + "ao": 0, + "ip": 0, + "op": 1800, + "st": 0, + "bm": 0 + }, + { + "ddd": 0, + "ind": 4, + "ty": 4, + "nm": "â–¨ Mask 2", + "parent": 1, + "td": 1, + "sr": 1, + "ks": { + "o": { + "a": 0, + "k": 100, + "ix": 11 + }, + "r": { + "a": 0, + "k": 0, + "ix": 10 + }, + "p": { + "a": 0, + "k": [ + 1.5, + 1.5, + 0 + ], + "ix": 2 + }, + "a": { + "a": 0, + "k": [ + 0, + 0, + 0 + ], + "ix": 1 + }, + "s": { + "a": 0, + "k": [ + 121, + 121, + 100 + ], + "ix": 6 + } + }, + "ao": 0, + "shapes": [ + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [ + 0, + 0 + ], + [ + 0, + 0 + ], + [ + 0, + 0 + ], + [ + 0, + 0 + ], + [ + 0, + 0 + ], + [ + 0, + 0 + ] + ], + "o": [ + [ + 0, + 0 + ], + [ + 0, + 0 + ], + [ + 0, + 0 + ], + [ + 0, + 0 + ], + [ + 0, + 0 + ], + [ + 0, + 0 + ] + ], + "v": [ + [ + -16.5, + -16.5 + ], + [ + 0, + 0 + ], + [ + 16.5, + -16.5 + ], + [ + 16.5, + 16.5 + ], + [ + 0, + 0 + ], + [ + -16.5, + 16.5 + ] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Path 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "tr", + "p": { + "a": 0, + "k": [ + 0, + 0 + ], + "ix": 2 + }, + "a": { + "a": 0, + "k": [ + 0, + 0 + ], + "ix": 1 + }, + "s": { + "a": 0, + "k": [ + 300, + 300 + ], + "ix": 3 + }, + "r": { + "a": 0, + "k": 0, + "ix": 6 + }, + "o": { + "a": 0, + "k": 100, + "ix": 7 + }, + "sk": { + "a": 0, + "k": 0, + "ix": 4 + }, + "sa": { + "a": 0, + "k": 0, + "ix": 5 + }, + "nm": "Transform" + } + ], + "nm": "Mask", + "np": 1, + "cix": 2, + "bm": 0, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [ + 1, + 0, + 0, + 1 + ], + "ix": 4 + }, + "o": { + "a": 0, + "k": 100, + "ix": 5 + }, + "r": 1, + "bm": 0, + "nm": "Fill 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + } + ], + "ip": 0, + "op": 1800, + "st": 0, + "bm": 0 + }, + { + "ddd": 0, + "ind": 5, + "ty": 4, + "nm": "Oval", + "parent": 1, + "tt": 1, + "sr": 1, + "ks": { + "o": { + "a": 1, + "k": [ + { + "i": { + "x": [ + 0.833 + ], + "y": [ + 0.833 + ] + }, + "o": { + "x": [ + 0.167 + ], + "y": [ + 0.167 + ] + }, + "t": 13, + "s": [ + 0 + ] + }, + { + "i": { + "x": [ + 0.833 + ], + "y": [ + 0.833 + ] + }, + "o": { + "x": [ + 0.167 + ], + "y": [ + 0.167 + ] + }, + "t": 36, + "s": [ + 40 + ] + }, + { + "t": 58, + "s": [ + 0 + ] + } + ], + "ix": 11 + }, + "r": { + "a": 0, + "k": 0, + "ix": 10 + }, + "p": { + "a": 0, + "k": [ + 1.5, + 1.5, + 0 + ], + "ix": 2 + }, + "a": { + "a": 0, + "k": [ + 0, + 0, + 0 + ], + "ix": 1 + }, + "s": { + "a": 0, + "k": [ + 100, + 100, + 100 + ], + "ix": 6 + } + }, + "ao": 0, + "shapes": [ + { + "ty": "gr", + "it": [ + { + "d": 1, + "ty": "el", + "s": { + "a": 0, + "k": [ + 33, + 33 + ], + "ix": 2 + }, + "p": { + "a": 0, + "k": [ + 0, + 0 + ], + "ix": 3 + }, + "nm": "Ellipse Path 1", + "mn": "ADBE Vector Shape - Ellipse", + "hd": false + }, + { + "ty": "st", + "c": { + "a": 0, + "k": [ + 0.250980392157, + 0.611764705882, + 0.78431372549, + 1 + ], + "ix": 3 + }, + "o": { + "a": 0, + "k": 100, + "ix": 4 + }, + "w": { + "a": 0, + "k": 2, + "ix": 5 + }, + "lc": 1, + "lj": 1, + "ml": 4, + "bm": 0, + "nm": "Stroke 1", + "mn": "ADBE Vector Graphic - Stroke", + "hd": false + }, + { + "ty": "tr", + "p": { + "a": 0, + "k": [ + 0, + 0 + ], + "ix": 2 + }, + "a": { + "a": 0, + "k": [ + 0, + 0 + ], + "ix": 1 + }, + "s": { + "a": 0, + "k": [ + 300, + 300 + ], + "ix": 3 + }, + "r": { + "a": 0, + "k": 0, + "ix": 6 + }, + "o": { + "a": 0, + "k": 100, + "ix": 7 + }, + "sk": { + "a": 0, + "k": 0, + "ix": 4 + }, + "sa": { + "a": 0, + "k": 0, + "ix": 5 + }, + "nm": "Transform" + } + ], + "nm": "Oval", + "np": 2, + "cix": 2, + "bm": 0, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + } + ], + "ip": 0, + "op": 1800, + "st": 0, + "bm": 0 + }, + { + "ddd": 0, + "ind": 6, + "ty": 4, + "nm": "â–¨ Mask 3", + "parent": 1, + "td": 1, + "sr": 1, + "ks": { + "o": { + "a": 0, + "k": 100, + "ix": 11 + }, + "r": { + "a": 0, + "k": 0, + "ix": 10 + }, + "p": { + "a": 0, + "k": [ + 1.5, + 1.5, + 0 + ], + "ix": 2 + }, + "a": { + "a": 0, + "k": [ + 0, + 0, + 0 + ], + "ix": 1 + }, + "s": { + "a": 0, + "k": [ + 121, + 121, + 100 + ], + "ix": 6 + } + }, + "ao": 0, + "shapes": [ + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [ + 0, + 0 + ], + [ + 0, + 0 + ], + [ + 0, + 0 + ], + [ + 0, + 0 + ], + [ + 0, + 0 + ], + [ + 0, + 0 + ] + ], + "o": [ + [ + 0, + 0 + ], + [ + 0, + 0 + ], + [ + 0, + 0 + ], + [ + 0, + 0 + ], + [ + 0, + 0 + ], + [ + 0, + 0 + ] + ], + "v": [ + [ + -16.5, + -16.5 + ], + [ + 0, + 0 + ], + [ + 16.5, + -16.5 + ], + [ + 16.5, + 16.5 + ], + [ + 0, + 0 + ], + [ + -16.5, + 16.5 + ] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Path 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "tr", + "p": { + "a": 0, + "k": [ + 0, + 0 + ], + "ix": 2 + }, + "a": { + "a": 0, + "k": [ + 0, + 0 + ], + "ix": 1 + }, + "s": { + "a": 0, + "k": [ + 300, + 300 + ], + "ix": 3 + }, + "r": { + "a": 0, + "k": 0, + "ix": 6 + }, + "o": { + "a": 0, + "k": 100, + "ix": 7 + }, + "sk": { + "a": 0, + "k": 0, + "ix": 4 + }, + "sa": { + "a": 0, + "k": 0, + "ix": 5 + }, + "nm": "Transform" + } + ], + "nm": "Mask", + "np": 1, + "cix": 2, + "bm": 0, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [ + 1, + 0, + 0, + 1 + ], + "ix": 4 + }, + "o": { + "a": 0, + "k": 100, + "ix": 5 + }, + "r": 1, + "bm": 0, + "nm": "Fill 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + } + ], + "ip": 0, + "op": 1800, + "st": 0, + "bm": 0 + }, + { + "ddd": 0, + "ind": 7, + "ty": 4, + "nm": "Oval", + "parent": 1, + "tt": 1, + "sr": 1, + "ks": { + "o": { + "a": 1, + "k": [ + { + "i": { + "x": [ + 0.833 + ], + "y": [ + 0.833 + ] + }, + "o": { + "x": [ + 0.167 + ], + "y": [ + 0.167 + ] + }, + "t": 0, + "s": [ + 0 + ] + }, + { + "i": { + "x": [ + 0.833 + ], + "y": [ + 0.833 + ] + }, + "o": { + "x": [ + 0.167 + ], + "y": [ + 0.167 + ] + }, + "t": 23, + "s": [ + 70 + ] + }, + { + "t": 45, + "s": [ + 0 + ] + } + ], + "ix": 11 + }, + "r": { + "a": 0, + "k": 0, + "ix": 10 + }, + "p": { + "a": 0, + "k": [ + 1.5, + 1.5, + 0 + ], + "ix": 2 + }, + "a": { + "a": 0, + "k": [ + 0, + 0, + 0 + ], + "ix": 1 + }, + "s": { + "a": 0, + "k": [ + 100, + 100, + 100 + ], + "ix": 6 + } + }, + "ao": 0, + "shapes": [ + { + "ty": "gr", + "it": [ + { + "d": 1, + "ty": "el", + "s": { + "a": 0, + "k": [ + 25, + 25 + ], + "ix": 2 + }, + "p": { + "a": 0, + "k": [ + 0, + 0 + ], + "ix": 3 + }, + "nm": "Ellipse Path 1", + "mn": "ADBE Vector Shape - Ellipse", + "hd": false + }, + { + "ty": "st", + "c": { + "a": 0, + "k": [ + 0.250980392157, + 0.611764705882, + 0.78431372549, + 1 + ], + "ix": 3 + }, + "o": { + "a": 0, + "k": 100, + "ix": 4 + }, + "w": { + "a": 0, + "k": 2, + "ix": 5 + }, + "lc": 1, + "lj": 1, + "ml": 4, + "bm": 0, + "nm": "Stroke 1", + "mn": "ADBE Vector Graphic - Stroke", + "hd": false + }, + { + "ty": "tr", + "p": { + "a": 0, + "k": [ + 0, + 0 + ], + "ix": 2 + }, + "a": { + "a": 0, + "k": [ + 0, + 0 + ], + "ix": 1 + }, + "s": { + "a": 0, + "k": [ + 300, + 300 + ], + "ix": 3 + }, + "r": { + "a": 0, + "k": 0, + "ix": 6 + }, + "o": { + "a": 0, + "k": 100, + "ix": 7 + }, + "sk": { + "a": 0, + "k": 0, + "ix": 4 + }, + "sa": { + "a": 0, + "k": 0, + "ix": 5 + }, + "nm": "Transform" + } + ], + "nm": "Oval", + "np": 2, + "cix": 2, + "bm": 0, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + } + ], + "ip": 0, + "op": 1800, + "st": 0, + "bm": 0 + }, + { + "ddd": 0, + "ind": 8, + "ty": 4, + "nm": "Oval", + "parent": 1, + "sr": 1, + "ks": { + "o": { + "a": 1, + "k": [ + { + "i": { + "x": [ + 0.833 + ], + "y": [ + 0.833 + ] + }, + "o": { + "x": [ + 0.167 + ], + "y": [ + 0.167 + ] + }, + "t": 0, + "s": [ + 50 + ] + }, + { + "i": { + "x": [ + 0.833 + ], + "y": [ + 0.833 + ] + }, + "o": { + "x": [ + 0.167 + ], + "y": [ + 0.167 + ] + }, + "t": 30, + "s": [ + 100 + ] + }, + { + "t": 58, + "s": [ + 50 + ] + } + ], + "ix": 11 + }, + "r": { + "a": 0, + "k": 0, + "ix": 10 + }, + "p": { + "a": 0, + "k": [ + 1.5, + 1.5, + 0 + ], + "ix": 2 + }, + "a": { + "a": 0, + "k": [ + 0, + 0, + 0 + ], + "ix": 1 + }, + "s": { + "a": 0, + "k": [ + 100, + 100, + 100 + ], + "ix": 6 + } + }, + "ao": 0, + "shapes": [ + { + "ty": "gr", + "it": [ + { + "d": 1, + "ty": "el", + "s": { + "a": 0, + "k": [ + 17, + 17 + ], + "ix": 2 + }, + "p": { + "a": 0, + "k": [ + 0, + 0 + ], + "ix": 3 + }, + "nm": "Ellipse Path 1", + "mn": "ADBE Vector Shape - Ellipse", + "hd": false + }, + { + "ty": "st", + "c": { + "a": 0, + "k": [ + 0.250980392157, + 0.611764705882, + 0.78431372549, + 1 + ], + "ix": 3 + }, + "o": { + "a": 0, + "k": 100, + "ix": 4 + }, + "w": { + "a": 0, + "k": 2, + "ix": 5 + }, + "lc": 1, + "lj": 1, + "ml": 4, + "bm": 0, + "nm": "Stroke 1", + "mn": "ADBE Vector Graphic - Stroke", + "hd": false + }, + { + "ty": "tr", + "p": { + "a": 0, + "k": [ + 0, + 0 + ], + "ix": 2 + }, + "a": { + "a": 0, + "k": [ + 0, + 0 + ], + "ix": 1 + }, + "s": { + "a": 0, + "k": [ + 300, + 300 + ], + "ix": 3 + }, + "r": { + "a": 0, + "k": 0, + "ix": 6 + }, + "o": { + "a": 0, + "k": 100, + "ix": 7 + }, + "sk": { + "a": 0, + "k": 0, + "ix": 4 + }, + "sa": { + "a": 0, + "k": 0, + "ix": 5 + }, + "nm": "Transform" + } + ], + "nm": "Oval", + "np": 2, + "cix": 2, + "bm": 0, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + } + ], + "ip": 0, + "op": 1800, + "st": 0, + "bm": 0 + } + ], + "markers": [] +} \ No newline at end of file diff --git a/Corona-Warn-App/src/main/res/raw/ic_settings_tracing_animated.json b/Corona-Warn-App/src/main/res/raw/ic_settings_tracing_animated.json index 0242eb34122607cdb6b2a7440f33ff1c537bc8d9..2db466fae9e81919b796dfb81eaf134d742fb08e 100644 --- a/Corona-Warn-App/src/main/res/raw/ic_settings_tracing_animated.json +++ b/Corona-Warn-App/src/main/res/raw/ic_settings_tracing_animated.json @@ -1,11 +1,11 @@ { "v": "5.6.10", - "fr": 25, + "fr": 30, "ip": 0, - "op": 48, - "w": 105, - "h": 75, - "nm": "Artboard 4", + "op": 61, + "w": 102, + "h": 102, + "nm": "Icons_Risikoermittlung_Light_Final-Animation", "ddd": 0, "assets": [], "layers": [ @@ -13,64 +13,12 @@ "ddd": 0, "ind": 1, "ty": 3, - "nm": "â–½ Exposure_Logging_Icon_ON", + "nm": "Null 1", "sr": 1, "ks": { "o": { - "a": 0, - "k": 100, - "ix": 11 - }, - "r": { "a": 0, "k": 0, - "ix": 10 - }, - "p": { - "a": 0, - "k": [ - 52.5, - 37.5, - 0 - ], - "ix": 2 - }, - "a": { - "a": 0, - "k": [ - 49.5, - 49.5, - 0 - ], - "ix": 1 - }, - "s": { - "a": 0, - "k": [ - 100, - 100, - 100 - ], - "ix": 6 - } - }, - "ao": 0, - "ip": 0, - "op": 1500, - "st": 0, - "bm": 0 - }, - { - "ddd": 0, - "ind": 2, - "ty": 3, - "nm": "â–½ Icon", - "parent": 1, - "sr": 1, - "ks": { - "o": { - "a": 0, - "k": 100, "ix": 11 }, "r": { @@ -82,7 +30,7 @@ "a": 0, "k": [ 49.5, - 49.5, + 51, 0 ], "ix": 2 @@ -90,8 +38,8 @@ "a": { "a": 0, "k": [ - 49.5, - 49.5, + 0, + 0, 0 ], "ix": 1 @@ -99,8 +47,8 @@ "s": { "a": 0, "k": [ - 100, - 100, + 97, + 97, 100 ], "ix": 6 @@ -108,16 +56,16 @@ }, "ao": 0, "ip": 0, - "op": 1500, + "op": 1800, "st": 0, "bm": 0 }, { "ddd": 0, - "ind": 3, + "ind": 4, "ty": 4, "nm": "â–¨ Mask 2", - "parent": 2, + "parent": 1, "td": 1, "sr": 1, "ks": { @@ -134,8 +82,8 @@ "p": { "a": 0, "k": [ - 49.5, - 49.5, + 1.5, + 1.5, 0 ], "ix": 2 @@ -339,16 +287,16 @@ } ], "ip": 0, - "op": 1500, + "op": 1800, "st": 0, "bm": 0 }, { "ddd": 0, - "ind": 4, + "ind": 5, "ty": 4, "nm": "Oval", - "parent": 2, + "parent": 1, "tt": 1, "sr": 1, "ks": { @@ -372,205 +320,7 @@ 0.167 ] }, - "t": 10.833, - "s": [ - 0 - ] - }, - { - "i": { - "x": [ - 0.833 - ], - "y": [ - 0.833 - ] - }, - "o": { - "x": [ - 0.167 - ], - "y": [ - 0.167 - ] - }, - "t": 29.583, - "s": [ - 35 - ] - }, - { - "i": { - "x": [ - 0.833 - ], - "y": [ - 1 - ] - }, - "o": { - "x": [ - 0.167 - ], - "y": [ - 0 - ] - }, - "t": 48.333, - "s": [ - 0 - ] - }, - { - "i": { - "x": [ - 0.833 - ], - "y": [ - 0.833 - ] - }, - "o": { - "x": [ - 0.167 - ], - "y": [ - 0.167 - ] - }, - "t": 59.583, - "s": [ - 0 - ] - }, - { - "i": { - "x": [ - 0.833 - ], - "y": [ - 0.833 - ] - }, - "o": { - "x": [ - 0.167 - ], - "y": [ - 0.167 - ] - }, - "t": 78.333, - "s": [ - 35 - ] - }, - { - "i": { - "x": [ - 0.833 - ], - "y": [ - 1 - ] - }, - "o": { - "x": [ - 0.167 - ], - "y": [ - 0 - ] - }, - "t": 97.083, - "s": [ - 0 - ] - }, - { - "i": { - "x": [ - 0.833 - ], - "y": [ - 0.833 - ] - }, - "o": { - "x": [ - 0.167 - ], - "y": [ - 0.167 - ] - }, - "t": 108.333, - "s": [ - 0 - ] - }, - { - "i": { - "x": [ - 0.833 - ], - "y": [ - 0.833 - ] - }, - "o": { - "x": [ - 0.167 - ], - "y": [ - 0.167 - ] - }, - "t": 127.083, - "s": [ - 35 - ] - }, - { - "i": { - "x": [ - 0.833 - ], - "y": [ - 1 - ] - }, - "o": { - "x": [ - 0.167 - ], - "y": [ - 0 - ] - }, - "t": 145.833, - "s": [ - 0 - ] - }, - { - "i": { - "x": [ - 0.833 - ], - "y": [ - 0.833 - ] - }, - "o": { - "x": [ - 0.167 - ], - "y": [ - 0.167 - ] - }, - "t": 157.083, + "t": 13, "s": [ 0 ] @@ -592,13 +342,13 @@ 0.167 ] }, - "t": 175.833, + "t": 35.5, "s": [ 35 ] }, { - "t": 194.5830078125, + "t": 58, "s": [ 0 ] @@ -614,8 +364,8 @@ "p": { "a": 0, "k": [ - 49.5, - 49.5, + 1.5, + 1.5, 0 ], "ix": 2 @@ -673,8 +423,8 @@ "a": 0, "k": [ 0, - 0.498039215803, - 0.678431391716, + 0.498039215686, + 0.678431372549, 1 ], "ix": 3 @@ -756,16 +506,16 @@ } ], "ip": 0, - "op": 1500, + "op": 1800, "st": 0, "bm": 0 }, { "ddd": 0, - "ind": 5, + "ind": 6, "ty": 4, "nm": "â–¨ Mask 3", - "parent": 2, + "parent": 1, "td": 1, "sr": 1, "ks": { @@ -782,8 +532,8 @@ "p": { "a": 0, "k": [ - 49.5, - 49.5, + 1.5, + 1.5, 0 ], "ix": 2 @@ -987,16 +737,16 @@ } ], "ip": 0, - "op": 1500, + "op": 1800, "st": 0, "bm": 0 }, { "ddd": 0, - "ind": 6, + "ind": 7, "ty": 4, "nm": "Oval", - "parent": 2, + "parent": 1, "tt": 1, "sr": 1, "ks": { @@ -1042,121 +792,11 @@ 0.167 ] }, - "t": 18.75, - "s": [ - 55 - ] - }, - { - "i": { - "x": [ - 0.833 - ], - "y": [ - 1 - ] - }, - "o": { - "x": [ - 0.167 - ], - "y": [ - 0 - ] - }, - "t": 37.5, - "s": [ - 0 - ] - }, - { - "i": { - "x": [ - 0.833 - ], - "y": [ - 0.833 - ] - }, - "o": { - "x": [ - 0.167 - ], - "y": [ - 0.167 - ] - }, - "t": 48.333, - "s": [ - 0 - ] - }, - { - "i": { - "x": [ - 0.833 - ], - "y": [ - 0.833 - ] - }, - "o": { - "x": [ - 0.167 - ], - "y": [ - 0.167 - ] - }, - "t": 67.083, + "t": 22.5, "s": [ 55 ] }, - { - "i": { - "x": [ - 0.833 - ], - "y": [ - 1 - ] - }, - "o": { - "x": [ - 0.167 - ], - "y": [ - 0 - ] - }, - "t": 85.833, - "s": [ - 0 - ] - }, - { - "i": { - "x": [ - 0.833 - ], - "y": [ - 0.833 - ] - }, - "o": { - "x": [ - 0.167 - ], - "y": [ - 0.167 - ] - }, - "t": 97.083, - "s": [ - 0 - ] - }, { "i": { "x": [ @@ -1174,79 +814,13 @@ 0.167 ] }, - "t": 115.833, - "s": [ - 55 - ] - }, - { - "i": { - "x": [ - 0.833 - ], - "y": [ - 1 - ] - }, - "o": { - "x": [ - 0.167 - ], - "y": [ - 0 - ] - }, - "t": 134.583, + "t": 45, "s": [ 0 ] }, { - "i": { - "x": [ - 0.833 - ], - "y": [ - 0.833 - ] - }, - "o": { - "x": [ - 0.167 - ], - "y": [ - 0.167 - ] - }, - "t": 145.417, - "s": [ - 0 - ] - }, - { - "i": { - "x": [ - 0.833 - ], - "y": [ - 0.833 - ] - }, - "o": { - "x": [ - 0.167 - ], - "y": [ - 0.167 - ] - }, - "t": 164.167, - "s": [ - 55 - ] - }, - { - "t": 182.9169921875, + "t": 58, "s": [ 0 ] @@ -1262,8 +836,8 @@ "p": { "a": 0, "k": [ - 49.5, - 49.5, + 1.5, + 1.5, 0 ], "ix": 2 @@ -1321,8 +895,8 @@ "a": 0, "k": [ 0, - 0.498039215803, - 0.678431391716, + 0.498039215686, + 0.678431372549, 1 ], "ix": 3 @@ -1404,13 +978,13 @@ } ], "ip": 0, - "op": 1500, + "op": 1800, "st": 0, "bm": 0 }, { "ddd": 0, - "ind": 7, + "ind": 8, "ty": 4, "nm": "Oval", "parent": 1, @@ -1458,145 +1032,13 @@ 0.167 ] }, - "t": 25, + "t": 30, "s": [ 100 ] }, { - "i": { - "x": [ - 0.833 - ], - "y": [ - 0.833 - ] - }, - "o": { - "x": [ - 0.167 - ], - "y": [ - 0.167 - ] - }, - "t": 48.333, - "s": [ - 50 - ] - }, - { - "i": { - "x": [ - 0.833 - ], - "y": [ - 0.833 - ] - }, - "o": { - "x": [ - 0.167 - ], - "y": [ - 0.167 - ] - }, - "t": 73.333, - "s": [ - 100 - ] - }, - { - "i": { - "x": [ - 0.833 - ], - "y": [ - 0.833 - ] - }, - "o": { - "x": [ - 0.167 - ], - "y": [ - 0.167 - ] - }, - "t": 98.333, - "s": [ - 50 - ] - }, - { - "i": { - "x": [ - 0.833 - ], - "y": [ - 0.833 - ] - }, - "o": { - "x": [ - 0.167 - ], - "y": [ - 0.167 - ] - }, - "t": 123.333, - "s": [ - 100 - ] - }, - { - "i": { - "x": [ - 0.833 - ], - "y": [ - 0.833 - ] - }, - "o": { - "x": [ - 0.167 - ], - "y": [ - 0.167 - ] - }, - "t": 148.333, - "s": [ - 50 - ] - }, - { - "i": { - "x": [ - 0.833 - ], - "y": [ - 0.833 - ] - }, - "o": { - "x": [ - 0.167 - ], - "y": [ - 0.167 - ] - }, - "t": 173.333, - "s": [ - 100 - ] - }, - { - "t": 198.3330078125, + "t": 58, "s": [ 50 ] @@ -1612,8 +1054,8 @@ "p": { "a": 0, "k": [ - 49.5, - 49.5, + 1.5, + 1.5, 0 ], "ix": 2 @@ -1754,7 +1196,7 @@ } ], "ip": 0, - "op": 1500, + "op": 1800, "st": 0, "bm": 0 } diff --git a/Corona-Warn-App/src/main/res/values-bg/strings.xml b/Corona-Warn-App/src/main/res/values-bg/strings.xml new file mode 100644 index 0000000000000000000000000000000000000000..84652f456f02e67d172d6e6dfd955d1b8ec34708 --- /dev/null +++ b/Corona-Warn-App/src/main/res/values-bg/strings.xml @@ -0,0 +1,1052 @@ +<?xml version="1.0" encoding="UTF-8"?><resources xmlns:tools="http://schemas.android.com/tools" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2" tools:ignore="MissingTranslation"> + + <!-- #################################### + Preference Keys + ###################################### + TODO: Check what is needed --> + + <!-- NOTR --> + <string name="preference_name"><xliff:g id="preference">"shared_preferences_cwa"</xliff:g></string> + <!-- NOTR --> + <string name="preference_onboarding_completed"><xliff:g id="preference">"preference_onboarding_completed"</xliff:g></string> + <!-- NOTR --> + <string name="preference_onboarding_completed_timestamp"><xliff:g id="preference">"preference_onboarding_completed_timestamp"</xliff:g></string> + <!-- NOTR --> + <string name="preference_reset_app"><xliff:g id="preference">"preference_reset_app"</xliff:g></string> + <!-- NOTR --> + <string name="preference_only_wifi"><xliff:g id="preference">"preference_only_wifi"</xliff:g></string> + <!-- NOTR --> + <string name="preference_tracing"><xliff:g id="preference">"preference_tracing"</xliff:g></string> + <!-- NOTR --> + <string name="preference_timestamp_diagnosis_keys_fetch"><xliff:g id="preference">"preference_timestamp_diagnosis_keys_fetch"</xliff:g></string> + <!-- NOTR --> + <string name="preference_timestamp_manual_diagnosis_keys_retrieval"><xliff:g id="preference">"preference_timestamp_manual_diagnosis_keys_retrieval"</xliff:g></string> + <!-- NOTR --> + <string name="preference_string_google_api_token"><xliff:g id="preference">"preference_m_string_google_api_token"</xliff:g></string> + <!-- NOTR --> + <string name="preference_notifications_enabled"><xliff:g id="preference">"preference_notifications_enabled"</xliff:g></string> + <!-- NOTR --> + <string name="preference_notifications_risk_enabled"><xliff:g id="preference">"preference_notifications_risk_enabled"</xliff:g></string> + <!-- NOTR --> + <string name="preference_notifications_test_enabled"><xliff:g id="preference">"preference_notifications_test_enabled"</xliff:g></string> + <!-- NOTR --> + <string name="preference_background_job_allowed"><xliff:g id="preference">"preference_background_job_enabled"</xliff:g></string> + <!-- NOTR --> + <string name="preference_mobile_data_allowed"><xliff:g id="preference">"preference_mobile_data_enabled"</xliff:g></string> + <!-- NOTR --> + <string name="preference_registration_token"><xliff:g id="preference">"preference_registration_token"</xliff:g></string> + <!-- NOTR --> + <string name="preference_device_pairing_successful_time"><xliff:g id="preference">"preference_device_pairing_successful_time"</xliff:g></string> + <!-- NOTR --> + <string name="preference_initial_tracing_activation_time"><xliff:g id="preference">"preference_initial_tracing_activation_time"</xliff:g></string> + <!-- NOTR --> + <string name="preference_initial_result_received_time"><xliff:g id="preference">"preference_initial_result_received_time"</xliff:g></string> + <!-- NOTR --> + <string name="preference_risk_level_score"><xliff:g id="preference">"preference_risk_level_score"</xliff:g></string> + <!-- NOTR --> + <string name="preference_risk_level_score_successful"><xliff:g id="preference">"preference_risk_level_score_successful"</xliff:g></string> + <!-- NOTR --> + <string name="preference_timestamp_risk_level_calculation"><xliff:g id="preference">"preference_timestamp_risk_level_calculation"</xliff:g></string> + <!-- NOTR --> + <string name="preference_test_guid"><xliff:g id="preference">"preference_test_guid"</xliff:g></string> + <!-- NOTR --> + <string name="preference_is_allowed_to_submit_diagnosis_keys"><xliff:g id="preference">"preference_is_allowed_to_submit_diagnosis_keys"</xliff:g></string> + <!-- NOTR --> + <string name="preference_auth_code"><xliff:g id="preference">"preference_auth_code"</xliff:g></string> + <!-- NOTR --> + <string name="preference_database_password"><xliff:g id="preference">"preference_database_password"</xliff:g></string> + <!-- NOTR --> + <string name="preference_total_non_active_tracing"><xliff:g id="preference">"preference_total_non_active_tracing"</xliff:g></string> + <!-- NOTR --> + <string name="preference_last_non_active_tracing_timestamp"><xliff:g id="preference">"preference_last_non_active_tracing_timestamp"</xliff:g></string> + <!-- NOTR --> + <string name="preference_number_successful_submissions"><xliff:g id="preference">"preference_number_successful_submissions"</xliff:g></string> + <!-- NOTR --> + <string name="preference_teletan"><xliff:g id="preference">"preference_teletan"</xliff:g></string> + <!-- NOTR --> + <string name="preference_last_three_hours_from_server"><xliff:g id="preference">"preference_last_three_hours_from_server"</xliff:g></string> + <!-- NOTR --> + <string name="preference_polling_test_result_started"><xliff:g id="preference">"preference_polling_test_result_started"</xliff:g></string> + <!-- NOTR --> + <string name="preference_test_result_notification"><xliff:g id="preference">"preference_test_result_notification"</xliff:g></string> + + <!-- #################################### + Generics + ###################################### --> + + <!-- XACT: back description for screen readers --> + <string name="accessibility_back">"Ðазад"</string> + <!-- XACT: next description for screen readers --> + <string name="accessibility_next">"Ðапред"</string> + <!-- XACT: menu description for screen readers --> + <string name="accessibility_menu">"Меню"</string> + <!-- XACT: menu description for screen readers --> + <string name="accessibility_close">"ЗатварÑне"</string> + <!-- XACT: menu description for screen readers --> + <string name="accessibility_logo">"Corona-Warn-App"</string> + <!-- XACT: button description for screen readers to be appended at the end of content without focusable subcontent that are explored by touch --> + <string name="accessibility_button">"Бутон"</string> + + <!-- #################################### + Menu + ###################################### --> + + <!-- XMIT: application overview --> + <string name="menu_help">"Общ преглед"</string> + <!-- XMIT: application information --> + <string name="menu_information">"Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° приложението"</string> + <!-- XMIT: application settings --> + <string name="menu_settings">"ÐаÑтройки"</string> + + <!-- #################################### + Notification + ###################################### --> + <!-- NOTR --> + <string name="notification_channel_id"><xliff:g id="notification_channel_id">"de.rki.coronawarnapp.notification.exposureNotificationChannelId"</xliff:g></string> + <!-- NOTR --> + <string name="notification_id"><xliff:g id="notification_id">"1"</xliff:g></string> + <!-- XTXT: Notification channel name for os settings --> + <string name="notification_name">"Corona-Warn-App"</string> + <!-- XTXT: Notification channel description for os settings --> + <string name="notification_description">"ИзвеÑÑ‚Ð¸Ñ Ð¾Ñ‚ приложението Corona-Warn-App"</string> + <!-- XHED: Notification title --> + <string name="notification_headline">"Corona-Warn-App"</string> + <!-- XTXT: Notification body --> + <string name="notification_body">"Имате нови ÑÑŠÐ¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¾Ñ‚ приложението Corona-Warn-App."</string> + + <!-- #################################### + App Auto Update + ###################################### --> + + <!-- XHED: App Auto Update dialog title --> + <string name="update_dialog_title">"Има налична актуализациÑ"</string> + <!-- XTXT: App Auto Update dialog message --> + <string name="update_dialog_message">"Имайте предвид, че е необходимо да инÑталирате поÑледната актуализациÑ, за да можете да използвате приложението Corona-Warn-App."</string> + <!-- XBUT: App Auto Update button --> + <string name="update_dialog_button">"Ðктуализиране"</string> + + <!-- #################################### + Risk Card + ###################################### --> + + <!-- XTXT: risk card - no contact yet --> + <string name="risk_card_body_contact">"До момента нÑма излагане на риÑк"</string> + <!-- XTXT: risk card - number of contacts for one or more --> + <plurals name="risk_card_body_contact_value"> + <item quantity="one">"%1$s излагане на риÑк"</item> + <item quantity="other">"%1$s Ð¸Ð·Ð»Ð°Ð³Ð°Ð½Ð¸Ñ Ð½Ð° риÑк"</item> + <item quantity="zero">"%1$s Ð¸Ð·Ð»Ð°Ð³Ð°Ð½Ð¸Ñ Ð½Ð° риÑк"</item> + <item quantity="two">"%1$s Ð¸Ð·Ð»Ð°Ð³Ð°Ð½Ð¸Ñ Ð½Ð° риÑк"</item> + <item quantity="few">"%1$s Ð¸Ð·Ð»Ð°Ð³Ð°Ð½Ð¸Ñ Ð½Ð° риÑк"</item> + <item quantity="many">"%1$s Ð¸Ð·Ð»Ð°Ð³Ð°Ð½Ð¸Ñ Ð½Ð° риÑк"</item> + </plurals> + <!-- XTXT: risk card - tracing active for x out of 14 days --> + <string name="risk_card_body_saved_days">"%1$s от 14 дни активноÑÑ‚"</string> + <!-- XTXT; risk card - no update done yet --> + <string name="risk_card_body_not_yet_fetched">"Ð’Ñе още не е извършвана проверка на контактите."</string> + <!-- XTXT: risk card - last successful update --> + <string name="risk_card_body_time_fetched">"Ðктуализирано: %1$s"</string> + <!-- XTXT: risk card - next update --> + <string name="risk_card_body_next_update">"Ежедневно актуализиране"</string> + <!-- XBUT: risk card - update risk --> + <string name="risk_card_button_update">"Ðктуализиране"</string> + <!-- XBUT: risk card - update risk with time display --> + <string name="risk_card_button_cooldown">"Ðктуализиране Ñлед %1$s"</string> + <!-- XBUT: risk card - activate tracing --> + <string name="risk_card_button_enable_tracing">"Ðктивиране на региÑтрирането на Ð¸Ð·Ð»Ð°Ð³Ð°Ð½Ð¸Ñ Ð½Ð° риÑк"</string> + <!-- XTXT: risk card - tracing is off, user should activate to get an updated risk level --> + <string name="risk_card_body_tracing_off">"Ðктивирайте региÑтрирането на Ð¸Ð·Ð»Ð°Ð³Ð°Ð½Ð¸Ñ Ð½Ð° риÑк, за да разберете какво е нивото Ви на риÑк днеÑ."</string> + <!-- XHED: risk card - low risk headline --> + <string name="risk_card_low_risk_headline">"ÐиÑък риÑк"</string> + <!-- XHED: risk card - increased risk headline --> + <string name="risk_card_increased_risk_headline">"Повишен риÑк"</string> + <!-- XTXT: risk card - increased risk days since last contact --> + <plurals name="risk_card_increased_risk_body_contact_last"> + <item quantity="one">"%1$s ден от поÑÐ»ÐµÐ´Ð½Ð¸Ñ ÐºÐ¾Ð½Ñ‚Ð°ÐºÑ‚"</item> + <item quantity="other">"%1$s дни от поÑÐ»ÐµÐ´Ð½Ð¸Ñ ÐºÐ¾Ð½Ñ‚Ð°ÐºÑ‚"</item> + <item quantity="zero">"%1$s дни от поÑÐ»ÐµÐ´Ð½Ð¸Ñ ÐºÐ¾Ð½Ñ‚Ð°ÐºÑ‚"</item> + <item quantity="two">"%1$s дни от поÑÐ»ÐµÐ´Ð½Ð¸Ñ ÐºÐ¾Ð½Ñ‚Ð°ÐºÑ‚"</item> + <item quantity="few">"%1$s дни от поÑÐ»ÐµÐ´Ð½Ð¸Ñ ÐºÐ¾Ð½Ñ‚Ð°ÐºÑ‚"</item> + <item quantity="many">"%1$s дни от поÑÐ»ÐµÐ´Ð½Ð¸Ñ ÐºÐ¾Ð½Ñ‚Ð°ÐºÑ‚"</item> + </plurals> + <!-- XHED: risk card - unknown risk headline --> + <string name="risk_card_unknown_risk_headline">"ÐеизвеÑтен риÑк"</string> + <!-- XTXT: risk card - tracing isn't active long enough, so a new risk level can't be calculated --> + <string name="risk_card_unknown_risk_body">"Тъй като региÑтрирането на Ð¸Ð·Ð»Ð°Ð³Ð°Ð½Ð¸Ñ Ð½Ð° риÑк не е било активно доÑтатъчно дълго, не можем да изчиÑлим Ð’Ð°ÑˆÐ¸Ñ Ñ€Ð¸Ñк от заразÑване."</string> + <!-- XHED: risk card - tracing stopped headline, due to no possible calculation --> + <string name="risk_card_no_calculation_possible_headline">"Ð’ момента не Ñе извършва региÑтриране на Ð¸Ð·Ð»Ð°Ð³Ð°Ð½Ð¸Ñ Ð½Ð° риÑк"</string> + <!-- XTXT: risk card - last successfully calculated risk level --> + <string name="risk_card_no_calculation_possible_body_saved_risk">"ПоÑледно региÑтриране на излагане на риÑк:"<xliff:g id="line_break">"\n"</xliff:g>"%1$s"</string> + <!-- XHED: risk card - outdated risk headline, calculation isn't possible --> + <string name="risk_card_outdated_risk_headline">"Ðевъзможно региÑтриране на Ð¸Ð·Ð»Ð°Ð³Ð°Ð½Ð¸Ñ Ð½Ð° риÑк"</string> + <!-- XTXT: risk card - outdated risk, calculation couldn't be updated in the last 24 hours --> + <string name="risk_card_outdated_risk_body">"РегиÑтърът на излаганиÑта на риÑк не е обновÑван повече от 24 чаÑа."</string> + <!-- XTXT: risk card - outdated risk manual, calculation couldn't be updated in the last 48 hours --> + <string name="risk_card_outdated_manual_risk_body">"ВашиÑÑ‚ ÑÑ‚Ð°Ñ‚ÑƒÑ Ð½Ð° риÑк не е обновÑван от повече от 48 чаÑа. МолÑ, актуализирайте го."</string> + <!-- XHED: risk card - loading headline, update is ongoing --> + <string name="risk_card_loading_headline">"Извършва Ñе проверка..."</string> + <!-- XTXT: risk card - loading, data is downloaded and will be checked, this can take several minutes --> + <string name="risk_card_loading_body">"Извършва Ñе изтеглÑне и проверка на актуалните данни. Това може да отнеме нÑколко минути."</string> + + <!-- #################################### + Main + ###################################### --> + + <!-- XHED: main, FAQ --> + <string name="main_about_headline">"ЧЗВ"</string> + <!-- XTXT: main, explains faq on card --> + <string name="main_about_body">"Тук можете да намерите отговори на чеÑто задавани въпроÑи отноÑно приложението Corona-Warn-App. Ще Ви пренаÑочим към външен уебÑайт."</string> + <!-- XTXT: FAQ link, should be translated --> + <string name="main_about_link">"https://www.bundesregierung.de/corona-warn-app-faq-englisch"</string> + <!-- XACT: Opens external webpage --> + <string name="hint_external_webpage">"Тук можете да намерите отговори на чеÑто задавани въпроÑи отноÑно приложението Corona-Warn-App. Ще Ви пренаÑочим към външен уебÑайт."</string> + + <!-- #################################### + Main - Share + ###################################### --> + + <!-- XHED: Share app link page title --> + <string name="main_share_title">"Споделете приложението Corona-Warn-App"</string> + <!-- XHED: Share app link page subtitle --> + <string name="main_share_headline">"Да Ñе преборим Ñ ÐºÐ¾Ñ€Ð¾Ð½Ð°Ð²Ð¸Ñ€ÑƒÑа заедно"</string> + <!-- YTXT: Share app link page body --> + <string name="main_share_body">"Колкото повече хора използват приложението, толкова по-бързо можем да прекъÑнем веригата на заразÑване. Предложете на ÑемейÑтвото и приÑтелите Ñи да изтеглÑÑ‚ приложението."</string> + <!-- XBUT: Share app link page button --> + <string name="main_share_button">"Изпращане на линк за изтеглÑне"</string> + <!-- YMSG: Message when sharing is executed --> + <string name="main_share_message">"Да Ñе преборим Ñ ÐºÐ¾Ñ€Ð¾Ð½Ð°Ð²Ð¸Ñ€ÑƒÑа заедно"<xliff:g id="line_break">"\n"</xliff:g>"Ðз ще учаÑтвам, а ти?"<xliff:g id="line_break">"\n"</xliff:g><xliff:g id="link_play_store">"https://www.corona-warn-app.de"</xliff:g>"\n"<xliff:g id="line_break">"\n"</xliff:g></string> + <!-- XACT: main (share) - illustraction description, explanation image --> + <string name="main_share_illustration_description">"Човек ÑÐ¿Ð¾Ð´ÐµÐ»Ñ Corona-Warn-App Ñ Ñ‡ÐµÑ‚Ð¸Ñ€Ð¸Ð¼Ð° души."</string> + + <!-- #################################### + Main - Overview + ###################################### --> + + <!-- XHED: App overview page title --> + <string name="main_overview_title">"Общ преглед"</string> + <!-- XACT: main overview page title --> + <string name="main_overview_accessibility_title">"Общ преглед"</string> + <!-- XHED: App overview subtitle for tracing explanation--> + <string name="main_overview_subtitle_tracing">"РегиÑтриране на излаганиÑта на риÑк"</string> + <!-- YTXT: App overview body text about tracing --> + <string name="main_overview_body_tracing">"РегиÑтрирането на Ð¸Ð·Ð»Ð°Ð³Ð°Ð½Ð¸Ñ Ð½Ð° риÑк е една от трите оÑновни функции на приложението. Когато е активирана, вÑички оÑъщеÑтвени контакти между уÑтройÑтва Ñе запиÑват, без да е необходимо да правите друго."</string> + <!-- XHED: App overview subtitle for risk explanation --> + <string name="main_overview_subtitle_risk">"РиÑк от заразÑване"</string> + <!-- YTXT: App overview body text about risk levels --> + <string name="main_overview_body_risk">"Ðко през поÑледните 14 дни Ñте имали контакт Ñ Ð»Ð¸Ñ†Ðµ, което е било диагноÑтицирано Ñ COVID-19, приложението изчиÑлÑва какъв е ВашиÑÑ‚ риÑк от заразÑване, като измерва продължителноÑтта и близоÑтта на излагането."</string> + <!-- XHED: App overview subtitle for risk level list --> + <string name="main_overview_subtitle_risk_levels">"Възможни Ñа Ñледните нива на риÑк:"</string> + <!-- XTXT: App overview increased risk level --> + <string name="main_overview_subtitle_increased_risk">"Повишен риÑк"</string> + <!-- XTXT: App overview low risk level --> + <string name="main_overview_subtitle_low_risk">"ÐиÑък риÑк"</string> + <!-- XTXT: App overview unknown risk level --> + <string name="main_overview_subtitle_unknown_risk">"ÐеизвеÑтен риÑк"</string> + <!-- XHED: App overview subtitle for test procedure explanation --> + <string name="main_overview_headline_test">"УведомÑване на други потребители"</string> + <!-- YTXT: App overview body text about rest procedure --> + <string name="main_overview_body_test">"Друга оÑновна Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ðµ региÑтрирането на теÑтове и извличането на резултати. Ðко имате поÑтавена диагноза COVID-19, може да уведомите оÑтаналите потребители и да прекъÑнете веригата на заразÑване."</string> + <!-- XHED: App overview headline for glossary --> + <string name="main_overview_headline_glossary">"Дефиниции на термини:"</string> + <!-- XHED: App overview subtitle for glossary key storage --> + <string name="main_overview_subtitle_glossary_tracing">"РегиÑÑ‚ÑŠÑ€ на излаганиÑта на риÑк"</string> + <!-- YTXT: App overview body for glossary key storage --> + <string name="main_overview_body_glossary_tracing">"СпиÑък на получените и генерираните Ñлучайни идентификатори, запазени временно в хранилището на операционната ÑиÑтема. СпиÑъкът Ñе чете при проверка на излаганиÑта на риÑк. Ð’Ñички Ñлучайни идентификатори Ñе изтриват автоматично Ñлед 14 дни."</string> + <!-- XHED: App overview subtitle for glossary risk calculation --> + <string name="main_overview_subtitle_glossary_calculation">"Проверка за излагане на риÑк"</string> + <!-- YTXT: App overview body for glossary risk calculation --> + <string name="main_overview_body_glossary_calculation">"Данните от региÑтъра на излаганиÑта на риÑк Ñе извличат и Ñинхронизират Ñ Ñ€ÐµÐ³Ð¸Ñтрираните Ñлучаи на заразÑване на други потребители. Проверката за излагане на риÑк Ñе извършва автоматично на вÑеки два чаÑа."</string> + <!-- XHED: App overview subtitle for glossary contact --> + <string name="main_overview_subtitle_glossary_contact">"Ð˜Ð·Ð»Ð°Ð³Ð°Ð½Ð¸Ñ Ð½Ð° риÑк"</string> + <!-- YTXT: App overview body for glossary contact --> + <string name="main_overview_body_glossary_contact">"Контакти Ñ Ð¿Ð¾-голÑма продължителноÑÑ‚ и близоÑÑ‚ до лица, диагноÑтицирани Ñ COVID-19."</string> + <!-- XHED: App overview subtitle for glossary notifications --> + <string name="main_overview_subtitle_glossary_notification">"ИзвеÑÑ‚Ð¸Ñ Ð·Ð° излагане на риÑк"</string> + <!-- YTXT: App overview body for glossary notifications --> + <string name="main_overview_body_glossary_notification">"Показват излаганиÑта на риÑк в приложението Corona-Warn-App."</string> + <!-- XHED: App overview subtitle for glossary keys --> + <string name="main_overview_subtitle_glossary_keys">"Случайни идентификатори"</string> + <!-- YTXT: App overview body for glossary keys --> + <string name="main_overview_body_glossary_keys">"Случайните идентификатори Ñа произволно генерирани комбинации от цифри и букви, които уÑтройÑтвата Ñи разменÑÑ‚, когато Ñа в близоÑÑ‚ едно до друго. Идентифицирането на конкретни лица поÑредÑтвом проÑледÑването им е невъзможно. ОÑвен това те Ñе изтриват автоматично Ñлед 14 дни. Лицата, диагноÑтицирани Ñ COVID-19, могат да ÑподелÑÑ‚ Ñ Ð¾Ñтаналите потребители на приложението Ñвоите Ñлучайни идентификатори, генерирани през поÑледните 14 дни."</string> + <!-- XACT: main (overview) - illustraction description, explanation image --> + <string name="main_overview_illustration_description">"Смартфон, показващ различни блокове Ñъдържание Ñ Ð½Ð¾Ð¼ÐµÑ€Ð° от 1 до 3."</string> + <!-- XACT: App main page title --> + <string name="main_title">"Главна Ñтраница на приложението Corona-Warn-App"</string> + + <!-- #################################### + Risk Details + ###################################### --> + + <!-- XHED: risk details - page title, in toolbar --> + <string name="risk_details_title">"ВашиÑÑ‚ ÑÑ‚Ð°Ñ‚ÑƒÑ Ð½Ð° риÑк"</string> + <!-- XHED: risk details - headline, how a user should act --> + <string name="risk_details_headline_behavior">"ÐаÑоки"</string> + <!-- XHED: risk details - multiline headline, bold, how to act correct --> + <string name="risk_details_subtitle_behavior">"Ето какво Ñ‚Ñ€Ñбва да направите"</string> + <!-- XMSG: risk details - go/stay home, something like a bullet point --> + <string name="risk_details_behavior_body_stay_home">"По възможноÑÑ‚ Ñе приберете и Ñи оÑтанете вкъщи."</string> + <!-- XMSG: risk details - get in touch with the corresponding people, something like a bullet point --> + <string name="risk_details_behavior_body_contact_doctor">"Ðко имате въпроÑи отноÑно Ñимптомите, възможноÑтите за теÑтване или ÑамоизолациÑта, Ñе обърнете към:"</string> + <!-- XMSG: risk details - wash your hands, something like a bullet point --> + <string name="risk_details_behavior_body_wash_hands">"Мийте ръцете Ñи редовно."</string> + <!-- XMSG: risk details - wear a face mask, something like a bullet point --> + <string name="risk_details_behavior_body_wear_mask">"ÐоÑете маÑка при контакт Ñ Ð´Ñ€ÑƒÐ³Ð¸ хора."</string> + <!-- XMSG: risk details - stay 1,5 away, something like a bullet point --> + <string name="risk_details_behavior_body_stay_away">"Спазвайте диÑÑ‚Ð°Ð½Ñ†Ð¸Ñ Ð¾Ñ‚ поне 1,5 м от околните."</string> + <!-- XMSG: risk details - cough/sneeze, something like a bullet point --> + <string name="risk_details_behavior_body_cough_sneeze">"Кихайте и кашлÑйте в кърпичка или в Ñгъвката на Ð»Ð°ÐºÑŠÑ‚Ñ Ñи."</string> + <!-- XMSG: risk details - contact your doctor, bullet point --> + <string name="risk_details_behavior_increased_body_1">"Ð’Ð°ÑˆÐ¸Ñ Ð»Ð¸Ñ‡ÐµÐ½ лекар"</string> + <!-- XMSG: risk details - panel doctor on-call service, bullet point --> + <string name="risk_details_behavior_increased_body_2">"Службата за Ñпешна медицинÑка помощ на телефон 116117"</string> + <!-- XMSG: risk details - public health department, bullet point --> + <string name="risk_details_behavior_increased_body_3">"Органите за общеÑтвено здравеопазване"</string> + <!-- XHED: risk details - infection risk headline, below behaviors --> + <string name="risk_details_headline_infection_risk">"РиÑк от заразÑване"</string> + <!-- XHED: risk details - how your risk level was calculated, below behaviors --> + <string name="risk_details_subtitle_infection_risk_past">"Ето как е изчиÑлено Вашето ниво на риÑк"</string> + <!-- XHED: risk details - how your risk level will be calculated, below behaviors --> + <string name="risk_details_subtitle_infection_risk">"Ето как Ñе изчиÑлÑва Вашето ниво на риÑк"</string> + <!-- XMSG: risk details - risk couldn't be calculated tracing wasn't enabled long enough, below behaviors --> + <string name="risk_details_information_body_unknown_risk">"Тъй като региÑтрирането на Ð¸Ð·Ð»Ð°Ð³Ð°Ð½Ð¸Ñ Ð½Ð° риÑк не е било активно доÑтатъчно дълго, не можем да изчиÑлим Ð’Ð°ÑˆÐ¸Ñ Ñ€Ð¸Ñк от заразÑване."</string> + <!-- XMSG: risk details - risk calculation wasn't possible for 24h, below behaviors --> + <string name="risk_details_information_body_outdated_risk">"РегиÑтърът на излаганиÑта на риÑк не е обновÑван повече от 24 чаÑа."</string> + <!-- YTXT: risk details - low risk explanation text --> + <string name="risk_details_information_body_low_risk">"Вашето ниво на риÑк от заразÑване е ниÑко, защото нÑмате региÑтрирани контакти Ñ Ð»Ð¸Ñ†Ð°, които впоÑледÑтвие Ñа били диагноÑтицирани Ñ COVID-19, или ако Ñте имали такива, те Ñа били краткотрайни и от по-голÑмо разÑтоÑние."</string> + <!-- YTXT: risk details - increased risk explanation text with variable for day(s) since last contact --> + <plurals name="risk_details_information_body_increased_risk"> + <item quantity="one">"Вашето ниво на риÑк от заразÑване е виÑоко, защото преди %1$s ден Ñте Ñе намирали в непоÑредÑтвена близоÑÑ‚ до поне едно лице, заразено Ñ COVID-19, в продължение на отноÑително дълъг от период от време."</item> + <item quantity="other">"Вашето ниво на риÑк от заразÑване е виÑоко, защото преди %1$s дни Ñте Ñе намирали в непоÑредÑтвена близоÑÑ‚ до поне едно лице, заразено Ñ COVID-19, в продължение на отноÑително дълъг от период от време."</item> + <item quantity="zero">"Вашето ниво на риÑк от заразÑване е виÑоко, защото преди %1$s дни Ñте Ñе намирали в непоÑредÑтвена близоÑÑ‚ до поне едно лице, заразено Ñ COVID-19, в продължение на отноÑително дълъг от период от време."</item> + <item quantity="two">"Вашето ниво на риÑк от заразÑване е виÑоко, защото преди %1$s дни Ñте Ñе намирали в непоÑредÑтвена близоÑÑ‚ до лице, заразено Ñ COVID-19, в продължение на отноÑително дълъг от период от време."</item> + <item quantity="few">"Вашето ниво на риÑк от заразÑване е виÑоко, защото преди %1$s дни Ñте Ñе намирали в непоÑредÑтвена близоÑÑ‚ до лице, заразено Ñ COVID-19, в продължение на отноÑително дълъг от период от време."</item> + <item quantity="many">"Вашето ниво на риÑк от заразÑване е виÑоко, защото преди %1$s дни Ñте Ñе намирали в непоÑредÑтвена близоÑÑ‚ до лице, заразено Ñ COVID-19, в продължение на отноÑително дълъг от период от време."</item> + </plurals> + <!-- YTXT: risk details - risk calculation explanation --> + <string name="risk_details_information_body_notice">"РиÑкът от заразÑване Ñе изчиÑлÑва въз оÑнова на данните за излагане (продължителноÑÑ‚ и близоÑÑ‚ на контакта), региÑтрирани на вашето локално уÑтройÑтво. Ðикой оÑвен Ð’Ð°Ñ Ð½Ðµ може да види или да получи данни за Вашето ниво на риÑк."</string> + <!-- NOTR --> + <string name="risk_details_button_update">@string/risk_card_button_update</string> + <!-- NOTR --> + <string name="risk_details_button_enable_tracing">@string/risk_card_button_enable_tracing</string> + <!-- XACT: risk details page title --> + <string name="risk_details_accessibility_title">"ВашиÑÑ‚ ÑÑ‚Ð°Ñ‚ÑƒÑ Ð½Ð° риÑк"</string> + + <!-- #################################### + Onboarding + ###################################### --> + + <!-- XBUT: onboarding - forward and deny --> + <string name="onboarding_button_disable">"Да не Ñе активира"</string> + <!-- XBUT: onboarding - forward and allow --> + <string name="onboarding_button_enable">"Ðктивиране"</string> + <!-- XBUT: onboarding - back and cancel --> + <string name="onboarding_button_cancel">"Отказ"</string> + <!-- XBUT: onboarding - next --> + <string name="onboarding_button_next">"Ðапред"</string> + <!-- XBUT: onboarding - start --> + <string name="onboarding_button_start">"Първи Ñтъпки"</string> + <!-- XTXT: onboarding - back description for screen reader --> + <string name="onboarding_button_back_description">"Ðазад"</string> + <!-- XACT: Onboarding (together) page title --> + <string name="onboarding_onboarding_accessibility_title">"Въведение - Ñтраница 1 от 5 Да Ñе преборим Ñ ÐºÐ¾Ñ€Ð¾Ð½Ð°Ð²Ð¸Ñ€ÑƒÑа заедно"</string> + <!-- XHED: onboarding(together) - fight corona --> + <string name="onboarding_headline">"Да Ñе преборим Ñ ÐºÐ¾Ñ€Ð¾Ð½Ð°Ð²Ð¸Ñ€ÑƒÑа заедно"</string> + <!-- XHED: onboarding(together) - two/three line headline under an illustration --> + <string name="onboarding_subtitle">"Повече защита за Ð’Ð°Ñ Ð¸ за вÑички наÑ. С помощта на приложението Corona-Warn-App можем да прекъÑнем веригите на заразÑване много по-бързо."</string> + <!-- YTXT: onboarding(together) - inform about the app --> + <string name="onboarding_body">"Превърнете уÑтройÑтвото Ñи в предупредителна ÑиÑтема за коронавируÑ. Прегледайте ÑÐ²Ð¾Ñ ÑÑ‚Ð°Ñ‚ÑƒÑ Ð½Ð° риÑк и разберете дали през поÑледните 14 дни Ñте имали близък контакт Ñ Ð»Ð¸Ñ†Ðµ, диагноÑтицирано Ñ COVID-19."</string> + <!-- YTXT: onboarding(together) - explain application --> + <string name="onboarding_body_emphasized">"Приложението региÑтрира контакти на лица поÑредÑтвом обмÑна на криптирани Ñлучайни ИД кодове между уÑтройÑтвата им, без да оÑъщеÑтвÑва доÑтъп до каквито и да било лични данни."</string> + <!-- XACT: onboarding(together) - illustraction description, header image --> + <string name="onboarding_illustration_description">"Група лица използват Ñмартфоните Ñи, придвижвайки Ñе из града."</string> + <!-- XACT: Onboarding (privacy) page title --> + <string name="onboarding_privacy_accessibility_title">"Въведение - Ñтраница 2 от 5 ÐеприкоÑновеноÑÑ‚ на личните данни. ТекÑÑ‚ÑŠÑ‚, който Ñледва, е дълъг. За да продължите да четете, използвайте бутона най-отдолу на екрана."</string> + <!-- XHED: onboarding(privacy) - title --> + <string name="onboarding_privacy_headline">"ÐеприкоÑновеноÑÑ‚ на личните данни"</string> + + <!-- XACT: onboarding(privacy) - illustraction description, header image --> + <string name="onboarding_privacy_illustration_description">"Жена използва приложението Corona-Warn-App на Ñмартфона Ñи. Икона, изобразÑваща катинар на фона на щит Ñимволизира криптирането на данните."</string> + <!-- XACT: Onboarding (tracing) page title --> + <string name="onboarding_tracing_accessibility_title">"Въведение - Ñтраница 3 от 5 Как да активирате региÑтрирането на Ð¸Ð·Ð»Ð°Ð³Ð°Ð½Ð¸Ñ Ð½Ð° риÑк"</string> + <!-- XHED: onboarding(tracing) - how to enable tracing --> + <string name="onboarding_tracing_headline">"Как да активирате региÑтрирането на Ð¸Ð·Ð»Ð°Ð³Ð°Ð½Ð¸Ñ Ð½Ð° риÑк"</string> + <!-- XHED: onboarding(tracing) - two/three line headline under an illustration --> + <string name="onboarding_tracing_subtitle">"За да уÑтановите дали Ñте заÑтрашени от заразÑване, Ñ‚Ñ€Ñбва да активирате функциÑта за региÑтриране на Ð¸Ð·Ð»Ð°Ð³Ð°Ð½Ð¸Ñ Ð½Ð° риÑк."</string> + <!-- YTXT: onboarding(tracing) - explain tracing --> + <string name="onboarding_tracing_body">"РегиÑтрирането на Ð¸Ð·Ð»Ð°Ð³Ð°Ð½Ð¸Ñ Ð½Ð° риÑк Ñе извършва Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰Ñ‚Ð° на Bluetooth връзка, при коÑто Вашето уÑтройÑтво получава криптираните Ñлучайни ИД кодове на други потребители и изпраща до техните уÑтройÑтва Вашите Ñлучайни ИД кодове. ФункциÑта може да бъде дезактивирана по вÑÑко време."</string> + <!-- YTXT: onboarding(tracing) - explain tracing --> + <string name="onboarding_tracing_body_emphasized">"Криптираните Ñлучайни ИД кодове предават Ñамо Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° дата, продължителноÑÑ‚ и близоÑÑ‚ на контакта Ñ Ð´Ñ€ÑƒÐ³Ð¸ лица (поÑредÑтвом Ñилата на Ñигнала). Лични данни от типа на име, Ð°Ð´Ñ€ÐµÑ Ð¸ меÑтоположение не Ñе запиÑват и идентифицирането на лицата е невъзможно."</string> + <!-- XHED: onboarding(tracing) - headline for consent information --> + <string name="onboarding_tracing_headline_consent">"Ð”ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ Ð·Ð° ÑъглаÑие"</string> + <!-- YTXT: onboarding(tracing) - body for consent information --> + <string name="onboarding_tracing_body_consent">"To find out whether you have been in contact with an infected person and whether there is a risk that you yourself have been infected, you need to enable the App’s exposure logging feature. By tapping on the “Enable†button, you agree to the enabling of the App’s exposure logging feature and the associated data processing."<xliff:g id="line_break">"\n"</xliff:g><xliff:g id="line_break">"\n"</xliff:g>"In order to use the App’s exposure logging feature, you will have to enable the COVID-19 Exposure Logging functionality provided by Google on your smartphone and grant the Corona-Warn-App permission to use this."<xliff:g id="line_break">"\n"</xliff:g><xliff:g id="line_break">"\n"</xliff:g>"When exposure logging is enabled, your smartphone continuously generates and transmits random IDs via Bluetooth, which other Android or Apple smartphones in your vicinity can receive if exposure logging is also enabled on them. Your smartphone, in turn, receives the random IDs of the other smartphones. Your own random IDs and those received from other smartphones are recorded in the exposure log and stored there for 14 days."<xliff:g id="line_break">"\n"</xliff:g><xliff:g id="line_break">"\n"</xliff:g>"To identify your risk of infection, the App loads a list – several times a day or on request – of the random IDs of all users who have told the App that they have been infected with the coronavirus. This list is then compared with the random IDs stored in the exposure log. If the App detects that you may have been in contact with an infected user, it will inform you of this and tell you that there is a risk that you are also infected. In this case, the App is also given access to other data stored in your smartphone’s exposure log (date, duration and Bluetooth signal strength of the contact)."<xliff:g id="line_break">"\n"</xliff:g><xliff:g id="line_break">"\n"</xliff:g>"The Bluetooth signal strength is used to derive the physical distance (the stronger the signal, the smaller the distance). The App then analyses this information in order to assess your likelihood of having been infected with the coronavirus and to give you recommendations for what to do next. This analysis is only performed locally on your smartphone. Apart from you, nobody (not even the RKI) will know whether you have been in contact with an infected person and what risk has been identified for you."<xliff:g id="line_break">"\n"</xliff:g><xliff:g id="line_break">"\n"</xliff:g>"To withdraw your consent to the exposure logging feature, you can disable the feature using the toggle switch in the App or delete the App. If you decide to use the exposure logging feature again, you can toggle the feature back on or reinstall the App. If you disable the exposure logging feature, the App will no longer check whether you have been in contact with an infected user. If you also wish to stop your device sending and receiving random IDs, you will need to disable COVID-19 Exposure Logging in your smartphone settings. Please note that your own random IDs and those received from other smartphones which are stored in the exposure log will not be deleted in the App. You can only permanently delete the data stored in the exposure log in your smartphone settings."<xliff:g id="line_break">"\n"</xliff:g><xliff:g id="line_break">"\n"</xliff:g>"The App’s privacy notice (including an explanation of the data processing carried out for the exposure logging feature) can be found in the menu under “Data Privacy Informationâ€."</string> + <!-- XBUT: onboarding(tracing) - button enable tracing --> + <string name="onboarding_tracing_button_next">"Ðктивиране на региÑтрирането на Ð¸Ð·Ð»Ð°Ð³Ð°Ð½Ð¸Ñ Ð½Ð° риÑк"</string> + <!-- XTXT: onboarding(tracing) - dialog about tracing permission declined --> + <string name="onboarding_tracing_dialog_headline">"ОторизациÑ"</string> + <!-- YMSI: onboarding(tracing) - dialog about tracing --> + <string name="onboarding_tracing_dialog_body">"Това означава, че приложението Corona-Warn-App не може да изпраща или получава извеÑÑ‚Ð¸Ñ Ð·Ð° Ð²Ð°ÑˆÐ¸Ñ ÑÑ‚Ð°Ñ‚ÑƒÑ Ð½Ð° риÑк от заразÑване Ñ COVID-19. Тази наÑтройка може да Ñе промени по вÑÑко време."</string> + <!-- XBUT: onboarding(tracing) - positive button (right) --> + <string name="onboarding_tracing_dialog_button_positive">"Да не Ñе активира"</string> + <!-- XBUT: onboarding(tracing) - negative button (right) --> + <string name="onboarding_tracing_dialog_button_negative">"Ðазад"</string> + <!-- XACT: onboarding(tracing) - illustraction description, header image --> + <string name="onboarding_tracing_illustration_description">"Трима души Ñа активирали региÑтрирането на Ð¸Ð·Ð»Ð°Ð³Ð°Ð½Ð¸Ñ Ð½Ð° риÑк и контактите им един Ñ Ð´Ñ€ÑƒÐ³ ще бъдат запиÑани."</string> + <!-- XHED: onboarding(tracing) - location explanation for bluetooth headline --> + <string name="onboarding_tracing_location_headline">"Разрешаване на доÑтъп до данните за меÑтоположение"</string> + <!-- XTXT: onboarding(tracing) - location explanation for bluetooth body text --> + <string name="onboarding_tracing_location_body">"Ðе може да бъде оÑъщеÑтвен доÑтъп до Вашето меÑтоположение. За да използвате Bluetooth, Google и/или Android изиÑкват от Ð’Ð°Ñ Ð´Ð° предоÑтавите доÑтъп до меÑтоположението на уÑтройÑтвото Ñи."</string> + <!-- XBUT: onboarding(tracing) - button enable tracing --> + <string name="onboarding_tracing_location_button">"Към наÑтройките за уÑтройÑтвото"</string> + <!-- XACT: Onboarding (test) page title --> + <string name="onboarding_test_accessibility_title">"Въведение - Ñтраница 4 от 5: Ðко имате поÑтавена диагноза COVID-19..."</string> + <!-- XHED: onboarding(test) - about positive tests --> + <string name="onboarding_test_headline">"Ðко имате поÑтавена диагноза COVID-19,..."</string> + <!-- XHED: onboarding(test) - two/three line headline under an illustration --> + <string name="onboarding_test_subtitle">"... Ð¼Ð¾Ð»Ñ Ñъобщете за това в приложението Corona-Warn-App. СподелÑнето на резултатите от Вашите теÑтове е доброволно и безопаÑно. Ðаправете го в името на общото здраве."</string> + <!-- YTXT: onboarding(test) - explain test --> + <string name="onboarding_test_body">"Вашето извеÑтие Ñе криптира Ñ Ð²Ð¸Ñока Ñтепен на ÑигурноÑÑ‚ и Ñе обработва на защитен Ñървър. Лицата, чиито криптирани Ñлучайни ИД кодове Ñа запазени на Вашето уÑтройÑтво, ще получат предупреждение, както и Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾Ñ‚Ð½Ð¾Ñно това, което Ñ‚Ñ€Ñбва да направÑÑ‚."</string> + <!-- XACT: onboarding(test) - illustraction description, header image --> + <string name="onboarding_test_illustration_description">"КриптираниÑÑ‚ положителен резултат от теÑÑ‚ Ñе изпраща в ÑиÑтемата, за да бъдат предупредени оÑтаналите потребители."</string> + <!-- XACT: Onboarding (datashare) page title --> + <string name="onboarding_notifications_accessibility_title">"Въведение - Ñтраница 5 от 5: Получаване на Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ñ Ð¸ идентифициране на риÑкове"</string> + <!-- XHED: onboarding(datashare) - about positive tests --> + <string name="onboarding_notifications_headline">"Получаване на Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ñ Ð¸ идентифициране на риÑкове"</string> + <!-- XHED: onboarding(datashare) - two/three line headline under an illustration --> + <string name="onboarding_notifications_subtitle">"Приложението може да Ви уведомÑва автоматично за Ð’Ð°ÑˆÐ¸Ñ ÑÑ‚Ð°Ñ‚ÑƒÑ Ð½Ð° риÑк от заразÑване и Ви предупреждава за нови заразÑÐ²Ð°Ð½Ð¸Ñ Ð½Ð° хора, Ñ ÐºÐ¾Ð¸Ñ‚Ð¾ Ñте били в контакт. Позволете на приложението да Ви изпраща извеÑтиÑ."</string> + <!-- YTXT: onboarding(datashare) - explain test --> + <string name="onboarding_notifications_body">"След това може да Ñе Ñамоизолирате, за да защитите околните и да разберете къде може да Ñе теÑтвате."</string> + <!-- XACT: onboarding(notifications) - illustraction description, header image --> + <string name="onboarding_notifications_illustration_description">"Жена, коÑто получава извеÑтие от приложението Corona-Warn-App."</string> + + <!-- #################################### + Settings + ###################################### --> + + <!-- XHED: settings - settings overview page title --> + <string name="settings_title">"ÐаÑтройки"</string> + <!-- XTXT: settings - on, like a label next to a setting --> + <string name="settings_on">"Включено"</string> + <!-- XTXT: settings - off, like a label next to a setting --> + <string name="settings_off">"Изключено"</string> + <!-- XHED: settings(tracing) - page title --> + <string name="settings_tracing_title">"РегиÑтриране на излаганиÑта на риÑк"</string> + <!-- XHED: settings(tracing) - headline bellow illustration --> + <string name="settings_tracing_headline">"Ето как работи региÑтрирането на Ð¸Ð·Ð»Ð°Ð³Ð°Ð½Ð¸Ñ Ð½Ð° риÑк"</string> + <!-- XTXT: settings(tracing) - explain text in settings overview under headline --> + <string name="settings_tracing_body_description">"Разрешаване на генерирането и ÑподелÑнето на Ñлучайни ИД кодове за COVID-19"</string> + <!-- XTXT: settings(tracing) - shows status under header in home, active --> + <string name="settings_tracing_body_active">"РегиÑтрирането на Ð¸Ð·Ð»Ð°Ð³Ð°Ð½Ð¸Ñ Ð½Ð° риÑк е активно"</string> + <!-- XTXT: settings(tracing) - shows status under header in home, inactive --> + <string name="settings_tracing_body_inactive">"Ð’ момента не Ñе извършва региÑтриране на Ð¸Ð·Ð»Ð°Ð³Ð°Ð½Ð¸Ñ Ð½Ð° риÑк"</string> + <!-- YTXT: settings(tracing) - explains tracings --> + <string name="settings_tracing_body_text">"РегиÑтрирането на Ð¸Ð·Ð»Ð°Ð³Ð°Ð½Ð¸Ñ Ð½Ð° риÑк Ñе извършва Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰Ñ‚Ð° на Bluetooth връзка, при коÑто Вашето уÑтройÑтво получава криптираните Ñлучайни ИД кодове на други потребители и изпраща до техните уÑтройÑтва Вашите Ñлучайни ИД кодове. ФункциÑта може да бъде дезактивирана по вÑÑко време. "<xliff:g id="line_break">"\n"</xliff:g><xliff:g id="line_break">"\n"</xliff:g>"Криптираните Ñлучайни ИД кодове предават Ñамо Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° дата, продължителноÑÑ‚ и близоÑÑ‚ на контакта Ñ Ð´Ñ€ÑƒÐ³Ð¸ лица (изчиÑлена чрез Ñилата на Ñигнала). Лични данни от типа на име, Ð°Ð´Ñ€ÐµÑ Ð¸ меÑтоположение не Ñе запиÑват и идентифицирането на лицата е невъзможно."</string> + <!-- XTXT: settings(tracing) - status next to switch under title --> + <string name="settings_tracing_status_active">"Ðктивно"</string> + <!-- XTXT: settings(tracing) - status next to switch under title --> + <string name="settings_tracing_status_inactive">"СпрÑно"</string> + <!-- XTXT: settings(tracing) - status next to switch under title --> + <string name="settings_tracing_status_restricted">"Ограничено"</string> + <!-- XTXT: settings(tracing) - shows status under header in home, no internet --> + <string name="settings_tracing_body_connection_inactive">"ÐÑма връзка Ñ Ð¸Ð½Ñ‚ÐµÑ€Ð½ÐµÑ‚"</string> + <!-- XTXT: settings(tracing) - shows status under header in home, no bluetooth --> + <string name="settings_tracing_body_bluetooth_inactive">"ФункциÑта Bluetooth е изключена"</string> + <!--XHED : settings(tracing) - headline on card about the current status and what to do --> + <string name="settings_tracing_status_bluetooth_headline">"Включете функциÑта Bluetooth"</string> + <!-- XTXT: settings(tracing) - explains user what to do on card if bluetooth is disabled --> + <string name="settings_tracing_status_bluetooth_body">"ФункциÑта Bluetooth Ñ‚Ñ€Ñбва да бъде включена, за да могат да Ñе региÑтрират Ñлучаите на излагане на риÑк. МолÑ, включете Ñ Ð¾Ñ‚ наÑтройките на Вашето уÑтройÑтво."</string> + <!-- XBUT: settings(tracing) - go to operating system settings button on card --> + <string name="settings_tracing_status_bluetooth_button">"Към наÑтройките за уÑтройÑтвото"</string> + <!--XHED : settings(tracing) - headline on card about the current status and what to do --> + <string name="settings_tracing_status_connection_headline">"Ðеобходима е връзка Ñ Ð¸Ð½Ñ‚ÐµÑ€Ð½ÐµÑ‚"</string> + <!-- XTXT: settings(tracing) - explains user what to do on card if connection is disabled --> + <string name="settings_tracing_status_connection_body">"Ðеобходима е връзка Ñ Ð¸Ð½Ñ‚ÐµÑ€Ð½ÐµÑ‚ за изчиÑлÑване на излаганиÑта на риÑк. МолÑ, Ñвържете Ñе Ñ Wi-Fi или мобилна мрежа за данни от наÑтройките на уÑтройÑтвото Ñи."</string> + <!-- XBUT: settings(tracing) - go to operating system settings button on card --> + <string name="settings_tracing_status_connection_button">"Към наÑтройките за уÑтройÑтвото"</string> + <!-- XTXT: settings(tracing) - explains the circle progress indicator to the right with the current value --> + <plurals name="settings_tracing_status_body_active"> + <item quantity="one">"РегиÑтрирането на Ð¸Ð·Ð»Ð°Ð³Ð°Ð½Ð¸Ñ Ð½Ð° риÑк е активно от един ден. Проверката за излагане на риÑк може да бъде надеждна Ñамо ако проÑледÑването е поÑтоÑнно активирано."</item> + <item quantity="other">"РегиÑтрирането на Ð¸Ð·Ð»Ð°Ð³Ð°Ð½Ð¸Ñ Ð½Ð° риÑк е активно от %1$s дни. Проверката за излагане на риÑк може да бъде надеждна Ñамо ако проÑледÑването е поÑтоÑнно активирано."</item> + <item quantity="zero">"РегиÑтрирането на Ð¸Ð·Ð»Ð°Ð³Ð°Ð½Ð¸Ñ Ð½Ð° риÑк е активно от %1$s дни. Проверката за излагане на риÑк може да бъде надеждна Ñамо ако проÑледÑването е поÑтоÑнно активирано."</item> + <item quantity="two">"РегиÑтрирането на Ð¸Ð·Ð»Ð°Ð³Ð°Ð½Ð¸Ñ Ð½Ð° риÑк е активно от %1$s дни. Проверката за излагане на риÑк може да бъде надеждна Ñамо ако проÑледÑването е поÑтоÑнно активирано."</item> + <item quantity="few">"РегиÑтрирането на Ð¸Ð·Ð»Ð°Ð³Ð°Ð½Ð¸Ñ Ð½Ð° риÑк е активно от %1$s дни. Проверката за излагане на риÑк може да бъде надеждна Ñамо ако проÑледÑването е поÑтоÑнно активирано."</item> + <item quantity="many">"РегиÑтрирането на Ð¸Ð·Ð»Ð°Ð³Ð°Ð½Ð¸Ñ Ð½Ð° риÑк е активно от %1$s дни. Проверката за излагане на риÑк може да бъде надеждна Ñамо ако проÑледÑването е поÑтоÑнно активирано."</item> + </plurals> + <!-- XACT: settings(tracing) - describes illustration --> + <string name="settings_tracing_illustration_description_active">"Трима души Ñа активирали региÑтрирането на Ð¸Ð·Ð»Ð°Ð³Ð°Ð½Ð¸Ñ Ð½Ð° риÑк и контактите им един Ñ Ð´Ñ€ÑƒÐ³ ще бъдат запиÑани."</string> + <!-- XACT: settings(tracing) - describes illustration --> + <string name="settings_tracing_illustration_description_inactive">"Контакт между трима души, един от които е Ñ Ð´ÐµÐ·Ð°ÐºÑ‚Ð¸Ð²Ð¸Ñ€Ð°Ð½Ð¾ проÑледÑване на контактите."</string> + <!-- XACT: settings(tracing) - describes illustration --> + <string name="settings_tracing_bluetooth_illustration_description_inactive">"Контакт между трима души, един от които е Ñ Ð¸Ð·ÐºÐ»ÑŽÑ‡ÐµÐ½Ð° Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Bluetooth."</string> + <!-- XACT: settings(tracing) - describes illustration --> + <string name="settings_tracing_connection_illustration_description_inactive">"Контакт между трима души, един от които нÑма връзка Ñ Ð¸Ð½Ñ‚ÐµÑ€Ð½ÐµÑ‚."</string> + + <!-- XHED: settings(notification) - notification page title --> + <string name="settings_notifications_title">"ИзвеÑтиÑ"</string> + <!-- XHED: settings(notification) - multiline headline below illustration, active --> + <string name="settings_notifications_headline_active">"Желаете ли да активирате извеÑтиÑта за Ð’Ð°ÑˆÐ¸Ñ ÑÑ‚Ð°Ñ‚ÑƒÑ Ð½Ð° риÑк от заразÑване Ñ COVID-19?"</string> + <!-- XHED: settings(notification) - multiline headline below illustration, inactive --> + <string name="settings_notifications_headline_inactive">"ИзвеÑтиÑта Ñа дезактивирани"</string> + <!-- XTXT: settings(notification) - text in row on settings overview --> + <string name="settings_notifications_body_description">"Разрешаване на автоматични извеÑÑ‚Ð¸Ñ Ð·Ð° ÑÑ‚Ð°Ñ‚ÑƒÑ Ð½Ð° риÑк от заразÑване Ñ COVID-19"</string> + <!-- YTXT: settings(notification) - description text when it notifications are enabled --> + <string name="settings_notifications_body_active">"ПоÑочете за какво желаете да получавате извеÑтиÑ"</string> + <!-- XTXT: settings(notification) - explains what the user has to do to activate settings --> + <string name="settings_notifications_body_inactive">"За да активирате извеÑтиÑта, от наÑтройките на Вашето уÑтройÑтво Ñ‚Ñ€Ñбва да разрешите на приложението Corona-Warn-App да Ви изпраща извеÑтиÑ."</string> + <!-- XHED: settings(notification) - card headline --> + <string name="settings_notifications_headline_card">"Ðктивиране на извеÑтиÑ"</string> + <!-- XHED: settings - notification headline on settings overview --> + <string name="settings_notifications_subtitle_notification">"ИзвеÑтиÑ"</string> + <!-- XTXT: settings(notification) - next to a switch --> + <string name="settings_notifications_subtitle_update_risk">"ПромÑна на Ð’Ð°ÑˆÐ¸Ñ Ñ€Ð¸Ñк от заразÑване"</string> + <!-- XTXT: settings(notification) - next to a switch --> + <string name="settings_notifications_subtitle_update_test">"Ðаличие на резултат от Ваш теÑÑ‚ за COVID-19"</string> + <!-- XBUT: settings(notification) - go to operating settings --> + <string name="settings_notifications_button_open_settings">"Към наÑтройките за уÑтройÑтвото"</string> + <!-- XACT: main (overview) - illustraction description, explanation image, displays notificatin status, active --> + <string name="settings_notifications_illustration_description_active">"Жена, коÑто получава извеÑтие от приложението Corona-Warn-App."</string> + <!-- XACT: main (overview) - illustraction description, explanation image, displays notificatin status, inactive --> + <string name="settings_notifications_illustration_description_inactive">"Жена, коÑто е дезактивирала извеÑтиÑта от приложението Corona-Warn-App."</string> + <!-- XBUT: settings - go to reset application --> + <string name="settings_reset_title">"ИзчиÑтване на данните в приложението"</string> + <!-- XTXT: settings(reset) - explains the user what do expect when he navigates to reset --> + <string name="settings_reset_body_description">"Изтрийте вÑички Ñвои данни в приложението."</string> + <!-- XHED: settings(reset) - multiline headline below illustration --> + <string name="settings_reset_headline">"Потвърждавате ли, че желаете да изчиÑтите данните в приложението?"</string> + <!-- XTXT: settings(reset) - explains the consequences --> + <string name="settings_reset_body">"Повече нÑма да получавате извеÑÑ‚Ð¸Ñ Ð·Ð° Ð¸Ð·Ð»Ð°Ð³Ð°Ð½Ð¸Ñ Ð½Ð° риÑк и нÑма да можете да предупреждавате други потребители."</string> + <!-- XHED: settings(reset) - on card, explains user to go to the operating system settings --> + <string name="settings_reset_headline_keys">"Изтриване на региÑтъра на "<xliff:g id="line_break">"\n"</xliff:g>"излаганиÑта на риÑк"</string> + <!-- XTXT: settings(reset) - on card --> + <string name="settings_reset_body_keys">"РегиÑтърът на Ð¸Ð·Ð»Ð°Ð³Ð°Ð½Ð¸Ñ Ð½Ð° риÑк Ñ‚Ñ€Ñбва да бъде изтрит от наÑтройките на уÑтройÑтвото Ви."</string> + <!-- XBUT: settings(reset) - triggers reset --> + <string name="settings_reset_button_positive">"ИзчиÑтване на данните в приложението"</string> + <!-- XBUT: settings(reset) - cancel reset and navigates the suer back to the settings --> + <string name="settings_reset_button_negative">"Отказ"</string> + <!-- XACT: main (overview) - illustraction description, explanation image --> + <string name="settings_reset_illustration_description">"Ръка, държаща Ñмартфон, на чийто екран Ñе вижда Ñимвол за протичащо изчиÑтване на приложението."</string> + <!-- XHED: settings(reset) - dialog headline --> + <string name="settings_reset_dialog_headline">"ИзчиÑтване на данните в приложението"</string> + <!-- XTXT: settings(reset) - dialog content --> + <string name="settings_reset_dialog_body">"Повече нÑма да получавате извеÑÑ‚Ð¸Ñ Ð·Ð° Ð¸Ð·Ð»Ð°Ð³Ð°Ð½Ð¸Ñ Ð½Ð° риÑк и нÑма да можете да предупреждавате други потребители. Това дейÑтвие не може да бъде отменено."</string> + <!-- XBUT: settings(reset) - dialog cancel --> + <string name="settings_reset_dialog_button_cancel">"Отказ"</string> + <!-- XBUT: settings(reset) - dialog confirm --> + <string name="settings_reset_dialog_button_confirm">"ИзчиÑтване"</string> + <!-- XHED: settings(background priority) - notification page title --> + <string name="settings_background_priority_title">"Приоритетна дейноÑÑ‚ във фонов режим"</string> + <!-- XTXT: settings(background priority) - text in row on settings overview --> + <string name="settings_background_priority_body_description">"Разрешаване на автоматични актуализации за ÑÑ‚Ð°Ñ‚ÑƒÑ Ð½Ð° риÑк"</string> + <!-- XHED: settings(background priority) - multiline headline below illustration --> + <string name="settings_background_priority_headline">"Ðктивиране на фонов режим на работа на приложението Corona-Warn-App"</string> + <!-- YTXT: settings(background priority) - description text --> + <string name="settings_background_priority_body">"Ðко Ñте активирали приоритетната дейноÑÑ‚ във фонов режим, приложението Corona-Warn-App работи непрекъÑнато. Това дава възможноÑÑ‚ да Ñе определи ВашиÑÑ‚ ÑÑ‚Ð°Ñ‚ÑƒÑ Ð½Ð° риÑк по вÑÑко време."</string> + <!-- XACT: settings(background priority) - illustraction description --> + <string name="settings_background_priority_illustration_description">@string/lorem_ipsum</string> + <!-- XTXT: settings(background priority) - explains user what to do on card if background priority is enabled --> + <string name="settings_background_priority_card_body">@string/lorem_ipsum</string> + <!-- XBUT: settings(background priority) - go to operating system settings button on card --> + <string name="settings_background_priority_card_button">@string/lorem_ipsum</string> + <!-- XHED : settings(background priority) - headline on card about the current status and what to do --> + <string name="settings_background_priority_card_headline">@string/lorem_ipsum</string> + + <!-- #################################### + App Information + ###################################### --> + + <!-- XHED: Page title for menu information page --> + <string name="information_title">"Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° приложението"</string> + <!-- XTXT: Version information text --> + <string name="information_version">"ВерÑиÑ: %1s"</string> + <!-- XHED: Page title for about information page, also menu item / button text --> + <string name="information_about_title">"ОтноÑно приложението"</string> + <!-- XHED: Subtitle for about information page --> + <string name="information_about_headline">"Да Ñе преборим Ñ ÐºÐ¾Ñ€Ð¾Ð½Ð°Ð²Ð¸Ñ€ÑƒÑа заедно"</string> + <!-- YTXT: Body text for about information page --> + <string name="information_about_body_emphasized">"ИнÑтитутът „Роберт Кох“ (RKI) е федералниÑÑ‚ орган за общеÑтвено здравеопазване в ГерманиÑ. Той е издател на приложението Corona-Warn-App по поръчка на федералното правителÑтво. Приложението предÑтавлÑва дигитално продължение на вече въведените мерки за опазване на общеÑтвеното здраве: Ñоциално диÑтанциране, поддържане на виÑока хигиена и ноÑене на маÑки."</string> + <!-- YTXT: Body text for about information page --> + <string name="information_about_body">"Ð’Ñеки, който използва приложението, помага за проÑледÑване и прекъÑване на веригите на заразÑване. Приложението запазва във Вашето уÑтройÑтво данните за контактите Ви Ñ Ð´Ñ€ÑƒÐ³Ð¸ хора. Получавате извеÑтие, ако Ñте били в контакт Ñ Ð»Ð¸Ñ†Ð°, които впоÑледÑтвие Ñа били диагноÑтицирани Ñ COVID-19. Вашата ÑамоличноÑÑ‚ и неприкоÑновеноÑтта на данните Ви Ñа защитени по вÑÑко време."</string> + <!-- XACT: describes illustration --> + <string name="information_about_illustration_description">"Група лица използват Ñмартфоните Ñи, придвижвайки Ñе из града."</string> + <!-- XHED: Page title for privacy information page, also menu item / button text --> + <string name="information_privacy_title">"ÐеприкоÑновеноÑÑ‚ на данните"</string> + <!-- XACT: describes illustration --> + <string name="information_privacy_illustration_description">"Жена използва приложението Corona-Warn-App на Ñмартфона Ñи. Икона, изобразÑваща катинар на фона на щит Ñимволизира криптирането на данните."</string> + <!-- XTXT: Path to the full blown privacy html, to translate it exchange "_de" to "_en" and provide the corresponding html file --> + <string name="information_privacy_html_path">"privacy_en.html"</string> + <!-- XHED: Page title for terms of use information page, also menu item / button text --> + <string name="information_terms_title">"УÑÐ»Ð¾Ð²Ð¸Ñ Ð·Ð° използване"</string> + <!-- XHED: Page headline for terms of use information page --> + <string name="information_terms_headline">"Съдържание"</string> + <!-- XACT: describes illustration --> + <string name="information_terms_illustration_description">"Ръка държи Ñмартфон, на чийто екран Ñе вижда голÑмо количеÑтво текÑÑ‚. До Ð½ÐµÑ Ñе вижда Ñимвол за отметка, Ñимволизиращ изразено ÑъглаÑие Ñ ÑƒÑловиÑта за използване."</string> + <!-- XTXT: Path to the full blown terms html, to translate it exchange "_de" to "_en" and provide the corresponding html file --> + <string name="information_terms_html_path">"terms_en.html"</string> + <!-- XHED: Page title for technical contact and hotline information page, also menu item / button text --> + <string name="information_contact_title">"Гореща Ð»Ð¸Ð½Ð¸Ñ Ð·Ð° техничеÑки въпроÑи"</string> + <!-- XHED: Subtitle for technical contact and hotline information page --> + <string name="information_contact_headline">"Как можем да Ви помогнем?"</string> + <!-- YTXT: Body text for technical contact and hotline information page --> + <string name="information_contact_body">"МолÑ, използвайте нашата гореща Ð»Ð¸Ð½Ð¸Ñ Ð·Ð° техничеÑки въпроÑи отноÑно приложението Corona-Warn-App."</string> + <!-- XHED: Subtitle for technical contact and hotline information page --> + <string name="information_contact_subtitle_phone">"Гореща Ð»Ð¸Ð½Ð¸Ñ Ð·Ð° техничеÑки въпроÑи:"</string> + <!-- XLNK: Button / hyperlink to phone call for technical contact and hotline information page --> + <string name="information_contact_button_phone">"+49 800 7540001"</string> + <!-- XBUT: CAUTION - ONLY UPDATE THE NUMBER IF NEEDED, ONLY NUMBERS AND NO SPECIAL CHARACTERS EXCEPT "+" and "space" ALLOWED IN THIS FIELD; --> + <string name="information_contact_phone_call_number">"+49 800 7540001"</string> + <!-- XTXT: Body text for technical contact and hotline information page --> + <string name="information_contact_body_phone">"ÐашиÑÑ‚ екип за обÑлужване на клиенти е готов да Ви помогне."</string> + <!-- YTXT: Body text for technical contact and hotline information page --> + <string name="information_contact_body_open">"Езици: немÑки, английÑки, турÑки\nРаботно време:"<xliff:g id="line_break">"\n"</xliff:g>"понеделник до неделÑ: 7:00 - 22:00"<xliff:g id="line_break">"\n(Ñ Ð¸Ð·ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ðµ на национални празници)"</xliff:g><xliff:g id="line_break">"\nОбаждането е безплатно."</xliff:g></string> + <!-- YTXT: Body text for technical contact and hotline information page --> + <string name="information_contact_body_other">"Ðко имате въпроÑи, Ñвързани ÑÑŠÑ Ð·Ð´Ñ€Ð°Ð²ÐµÑ‚Ð¾, Ñе обадете на Ð»Ð¸Ñ‡Ð½Ð¸Ñ Ñи лекар или на горещата Ð»Ð¸Ð½Ð¸Ñ Ð½Ð° Ñлужбата за медицинÑка помощ на телефон 116 117"</string> + <!-- XACT: describes illustration --> + <string name="information_contact_illustration_description">"Мъж ÑÑŠÑ Ñлушалки провежда телефонен разговор."</string> + <!-- XLNK: Menu item / hyper link / button text for navigation to FAQ website --> + <string name="information_help_title">"ЧЗВ"</string> + <!-- XACT: accessibility hint --> + <string name="information_help_title_accessibility">"ЧеÑто задавани въпроÑи. Ще Ви пренаÑочим към външен уебÑайт."</string> + <!-- XHED: Page title for technical information page, also menu item / button text --> + <string name="information_technical_title">"Правна информациÑ"</string> + <!-- XACT: describes illustration --> + <string name="information_technical_illustration_description">"Ръка държи Ñмартфон, на чийто екран Ñе вижда голÑмо количеÑтво текÑÑ‚, а до Ð½ÐµÑ Ð¸Ð¼Ð° изображение на везна, коÑто Ñимволизира правната информациÑ."</string> + <!-- XTXT: Path to the full blown legal html, to translate it exchange "_de" to "_en" and provide the corresponding html file --> + <string name="information_technical_html_path">"technical_en.html"</string> + <!-- XHED: Page title for legal information page, also menu item / button text --> + <string name="information_legal_title">"За издателÑ"</string> + <!-- XHED: Headline for legal information page, publisher section --> + <string name="information_legal_headline_publisher">"Издател"</string> + <!-- YTXT: subtitle for legal information page, publisher section --> + <string name="information_legal_subtitle_publisher">"(отговорен ÑъглаÑно § 5, параграф 1 от TMG, § 55 параграф 1 от RStV, DS-GVO, BDSG"</string> + <!-- YTXT: body for legal information page, publisher section --> + <string name="information_legal_body_publisher">"Robert Koch Institute"<xliff:g id="line_break">"\n"</xliff:g>"Nordufer 20"<xliff:g id="line_break">"\n"</xliff:g>"13353 Berlin"<xliff:g id="line_break">"\n"</xliff:g><xliff:g id="line_break">"\n"</xliff:g>"предÑтавлÑван от ÑÐ²Ð¾Ñ Ð¿Ñ€ÐµÐ·Ð¸Ð´ÐµÐ½Ñ‚"</string> + <!-- XHED: Headline for legal information page, contact section --> + <string name="information_legal_headline_contact">"Контакт"</string> + <!-- YTXT: subtitle for legal information page, contact section --> + <string name="information_legal_subtitle_contact">"Имейл: CoronaWarnApp@rki.de"<xliff:g id="line_break">"\n"</xliff:g>"Телефон: +49 30 18754 5100"</string> + <!-- XHED: Headline for legal information page, tax section --> + <string name="information_legal_headline_taxid">"Идентификационен номер за ДДС"</string> + <!-- YTXT: subtitle for legal information page, tax section --> + <string name="information_legal_subtitle_taxid">"DE 165 893 430"</string> + <!-- XACT: describes illustration --> + <string name="information_legal_illustration_description">"Ръка държи Ñмартфон, на чийто екран Ñе вижда голÑмо количеÑтво текÑÑ‚, а до Ð½ÐµÑ Ð¸Ð¼Ð° изображение на везна, коÑто Ñимволизира правната информациÑ."</string> + + + <!-- #################################### + Submission + ###################################### --> + + <!-- XHED: Dialog title for generic web request error --> + <string name="submission_error_dialog_web_generic_error_title">"Грешка"</string> + <!-- XMSG: Dialog body for generic web request network error with status code --> + <string name="submission_error_dialog_web_generic_network_error_body">"Ðе беше уÑтановена връзка (%1$d). МолÑ, опитайте отново."</string> + <!-- XMSG: Dialog body for generic web request error without status code --> + <string name="submission_error_dialog_web_generic_error_body">"Ðе беше уÑтановена връзка. МолÑ, опитайте отново."</string> + <!-- XBUT: Positive button for generic web request error --> + <string name="submission_error_dialog_web_generic_error_button_positive">"Ðазад"</string> + + <!-- XHED: Dialog title for already paired test error --> + <string name="submission_error_dialog_web_test_paired_title">"Грешка"</string> + <!-- XMSG: Dialog body for already paired test error --> + <string name="submission_error_dialog_web_test_paired_body">"QR/ТÐРкодът е невалиден или вече е използван. МолÑ, опитайте отново или Ñе обадете на горещата Ð»Ð¸Ð½Ð¸Ñ Ð·Ð° техничеÑки въпроÑи, коÑто може да намерите в раздел â€žÐ˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° приложението“."</string> + <!-- XBUT: Positive button for already paired test error --> + <string name="submission_error_dialog_web_test_paired_button_positive">"Ðазад"</string> + + <!-- XHED: Dialog title for could not create submission tan --> + <string name="submission_error_dialog_web_paring_invalid_title">"Грешка"</string> + <!-- XMSG: Dialog body for could not create submission tan --> + <string name="submission_error_dialog_web_paring_invalid_body">"Ðе беше генериран ТÐРкод за изпращане. МолÑ, обадете Ñе на горещата Ð»Ð¸Ð½Ð¸Ñ Ð·Ð° техничеÑки въпроÑи, коÑто можете да намерите в раздел â€žÐ˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° приложението“."</string> + <!-- XBUT: Positive button for could not create submission tan --> + <string name="submission_error_dialog_web_paring_invalid_button_positive">"Ðазад"</string> + + <!-- XHED: Dialog title for submission tan invalid --> + <string name="submission_error_dialog_web_tan_invalid_title">"Грешка"</string> + <!-- XMSG: Dialog body for submission tan invalid --> + <string name="submission_error_dialog_web_tan_invalid_body">"Ðе беше генериран ТÐРкод за изпращане. МолÑ, обадете Ñе на горещата Ð»Ð¸Ð½Ð¸Ñ Ð·Ð° техничеÑки въпроÑи, коÑто можете да намерите в раздел â€žÐ˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° приложението“."</string> + <!-- XBUT: Positive button for submission tan invalid --> + <string name="submission_error_dialog_web_tan_invalid_button_positive">"Ðазад"</string> + + <!-- Permission Rationale Dialog --> + <!-- XHED: Dialog headline QR Scan permission rationale --> + <string name="submission_qr_code_scan_permission_rationale_dialog_headline">"ИзиÑква Ñе разрешение за използване на камерата"</string> + <!-- YTXT: Dialog Body text for QR Scan permission rationale --> + <string name="submission_qr_code_scan_permission_rationale_dialog_body">"Разрешете на приложението да използва камерата, за да Ñканира QR кода."</string> + <!-- XBUT: Dialog(QR Scan permission rationale) - positive button (right) --> + <string name="submission_qr_code_scan_permission_rationale_dialog_button_positive">"Разрешавам"</string> + <!-- XBUT: Dialog(QR Scan permission rationale) - negative button (left) --> + <string name="submission_qr_code_scan_permission_rationale_dialog_button_negative">"Ðе разрешавам"</string> + + <!-- Permission Denied Dialog --> + <!-- XHED: Dialog headline QR Scan permission denied --> + <string name="submission_qr_code_scan_permission_denied_dialog_headline">"Ðеобходим е доÑтъп до камерата"</string> + <!-- YTXT: Dialog Body text for QR Scan permission denied --> + <string name="submission_qr_code_scan_permission_denied_dialog_body">"МолÑ, отворете ÑиÑтемните наÑтройки и разрешете на приложението да Ñканира QR кода."</string> + <!-- XBUT: Dialog(QR Scan permission denied) - button --> + <string name="submission_qr_code_scan_permission_denied_dialog_button">"OK"</string> + + <!-- QR Code Scan Invalid Dialog --> + <!-- XHED: Dialog headline for invalid QR code --> + <string name="submission_qr_code_scan_invalid_dialog_headline">"Ðеправилен QR код"</string> + <!-- YTXT: Dialog Body text for invalid QR code --> + <string name="submission_qr_code_scan_invalid_dialog_body">"QR кодът е неправилен. МолÑ, опитайте отново по-къÑно."</string> + <!-- XBUT: Dialog(Invalid QR code) - positive button (right) --> + <string name="submission_qr_code_scan_invalid_dialog_button_positive">"МолÑ, опитайте отново."</string> + <!-- XBUT: Dialog(Invalid QR code) - negative button (left) --> + <string name="submission_qr_code_scan_invalid_dialog_button_negative">"Отказ"</string> + + <!-- QR Code Scan Screen --> + <string name="submission_qr_code_scan_title">"Позиционирайте QR кода в рамката."</string> + <!-- YTXT: instruction text for QR code scanning --> + <string name="submission_qr_code_scan_body">"Позиционирайте QR кода в рамката."</string> + + <!-- Submission Test Result --> + <!-- XHED: Page headline for test result --> + <string name="submission_test_result_headline">"Резултат от теÑÑ‚"</string> + <!-- XHED: Page subheadline for test result --> + <string name="submission_test_result_subtitle">"Как работи:"</string> + <!-- XHED: Page headline for results next steps --> + <string name="submission_test_result_steps_added_heading">"ТеÑÑ‚ÑŠÑ‚ е добавен уÑпешно"</string> + <!-- YTXT: Body text for for results next steps --> + <string name="submission_test_result_steps_added_body">"ВашиÑÑ‚ теÑÑ‚ е запазен в приложението Corona-Warn-App."</string> + <!-- XHED: Page headline for pending test result next steps --> + <string name="submission_test_result_pending_steps_waiting_heading">"Ð’Ñе още нÑма наличен резултат от теÑÑ‚"</string> + <!-- YTXT: Body text for next steps section of waiting test result page --> + <string name="submission_test_result_pending_steps_waiting_body">"Ð’Ñе още нÑма резултат от Ð’Ð°ÑˆÐ¸Ñ Ñ‚ÐµÑÑ‚."</string> + <!-- XBUT: test result pending : refresh button --> + <string name="submission_test_result_pending_refresh_button">"Ðктуализиране"</string> + <!-- XBUT: test result pending : remove the test button --> + <string name="submission_test_result_pending_remove_test_button">"Изтриване на теÑÑ‚"</string> + <!-- XHED: Page headline for negative test result next steps --> + <string name="submission_test_result_negative_steps_negative_heading">"Резултатът от Ð’Ð°ÑˆÐ¸Ñ Ñ‚ÐµÑÑ‚"</string> + <!-- YTXT: Body text for next steps section of test negative result --> + <string name="submission_test_result_negative_steps_negative_body">"ВашиÑÑ‚ лабораторен резултат не потвърждава заразÑване Ñ ÐºÐ¾Ñ€Ð¾Ð½Ð°Ð²Ð¸Ñ€ÑƒÑ SARS-CoV-2.\n\nМолÑ, изтрийте теÑта от приложението Corona-Warn-App, за да можете да запазите нов код на теÑÑ‚, ако е необходимо."</string> + <!-- XBUT: negative test result : remove the test button --> + <string name="submission_test_result_negative_remove_test_button">"Изтриване на теÑÑ‚"</string> + <!-- XHED: Page headline for positive test result screen --> + <string name="submission_test_result_positive_steps_positive_heading">"Резултатът от Ð’Ð°ÑˆÐ¸Ñ Ñ‚ÐµÑÑ‚"</string> + <!-- YTXT: Body text for next steps section of test positive result--> + <string name="submission_test_result_positive_steps_positive_body">"Резултатът от Ð’Ð°ÑˆÐ¸Ñ Ñ‚ÐµÑÑ‚ бе потвърден като положителен."</string> + <!-- XHED: Page headline for other warnings screen --> + <string name="submission_test_result_positive_steps_warning_others_heading">"Предупреждаване на оÑтаналите потребители"</string> + <!-- YTXT: Body text for for other warnings screen--> + <string name="submission_test_result_positive_steps_warning_others_body">"Споделете Ñвоите Ñлучайни ИД кодове от поÑледните 14 дни, за да помогнете за защитата на други хора и прекъÑването на веригата на заразÑване."</string> + <!-- XBUT: positive test result : continue button --> + <string name="submission_test_result_positive_continue_button">"Ðапред"</string> + <!-- XHED: Page headline for invalid test result screen --> + <string name="submission_test_result_invalid_steps_invalid_heading">"Резултатът от Ð’Ð°ÑˆÐ¸Ñ Ñ‚ÐµÑÑ‚"</string> + <!-- YTXT: Body text for next steps section of invalid test result--> + <string name="submission_test_result_invalid_steps_invalid_body">"Възникна проблем при определÑнето на резултата от Ð’Ð°ÑˆÐ¸Ñ Ñ‚ÐµÑÑ‚. МолÑ, Ñвържете Ñе Ñ Ð¾Ñ€Ð³Ð°Ð½Ð° за общеÑтвено здравеопазване, за да получите Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ ÐºÐ°ÐºÐ²Ð¾ Ñ‚Ñ€Ñбва да направите.\n\nМолÑ, изтрийте теÑта от Вашето Corona-Warn-App приложение, за да можете да запазите нов код на теÑÑ‚, ако е необходимо."</string> + <!-- XBUT: invalid test result : remove the test button --> + <string name="submission_test_result_invalid_remove_test_button">"Изтриване на теÑÑ‚"</string> + <!-- XHED: Dialog title for tracing required dailog --> + <string name="submission_test_result_dialog_tracing_required_title">"ИзиÑква Ñе региÑтриране на излаганиÑта на риÑк"</string> + <!-- YTXT: Dialog text for tracing required dialog--> + <string name="submission_test_result_dialog_tracing_required_message">"МолÑ, активирайте региÑтрирането на Ð¸Ð·Ð»Ð°Ð³Ð°Ð½Ð¸Ñ Ð½Ð° риÑк, за да предупредите други хора."</string> + <!-- XBUT: tracing required : OK button --> + <string name="submission_test_result_dialog_tracing_required_button">"OK"</string> + <!-- XHED: Dialog title for test removal --> + <string name="submission_test_result_dialog_remove_test_title">"Да Ñе изтрие ли теÑÑ‚ÑŠÑ‚?"</string> + <!-- YTXT: Dialog text for test removal --> + <string name="submission_test_result_dialog_remove_test_message">"ТеÑÑ‚ÑŠÑ‚ ще бъде изтрит безвъзвратно от приложението Corona-Warn-App и нÑма да може да бъде добавен отново. ДейÑтвието не може да бъде отменено."</string> + <!-- XBUT: Positive button for test removal --> + <string name="submission_test_result_dialog_remove_test_button_positive">"Премахване"</string> + <!-- XBUT: Negative button for test removal --> + <string name="submission_test_result_dialog_remove_test_button_negative">"Отказ"</string> + <!-- XHED: Title for test result card positive --> + <string name="submission_test_result_card_positive_title">"Положителен резултат за SARS-CoV-2"</string> + <!-- YTXT: Body text for test result card positive --> + <string name="submission_test_result_card_positive_body">"Вашето заразÑване ÑÑŠÑ SARS-CoV-2 е потвърдено."</string> + + <!-- Submission Tan --> + <!-- XHED: Page title for TAN submission pge --> + <string name="submission_tan_title">"Въвеждане на ТÐРкод"</string> + <!-- YTXT: Body text for the tan submission page --> + <string name="submission_tan_body">"МолÑ, въведете 10-Ñ†Ð¸Ñ„Ñ€ÐµÐ½Ð¸Ñ Ð¢ÐРкод, който Ви бе предоÑтавен."</string> + <!-- XBUT: Submit TAN button --> + <string name="submission_tan_button_text">"Ðапред"</string> + <!-- XACT: Submission Tan page title --> + <string name="submission_tan_accessibility_title">"Въвеждане на ТÐРкод"</string> + <!-- YTXT: Error text for the tan submission page --> + <string name="submission_tan_error">"Ðевалиден ТÐРкод. Проверете въведените данни."</string> + <!-- YTXT: Error text for the tan submission page (wrong characters) --> + <string name="submission_tan_character_error">"Въведете данни Ñа невалидни. МолÑ, проверете."</string> + + <!-- Submission Intro --> + <!-- XHED: Page title for menu at the start of the submission process --> + <string name="submission_intro_title">"Правили ли Ñте Ñи теÑÑ‚?"</string> + <!-- XHED: Page headline for menu the at start of the submission process --> + <string name="submission_intro_headline">"Ето как работи приложението Corona-Warn-App"</string> + <!-- YTXT: submission introduction text --> + <string name="submission_intro_text">"За да работи добре приложението, разчитаме на подкрепата на хората, диагноÑтицирани Ñ COVID-19.\n\nÐнонимноÑтта Ви Ñе запазва, тъй като Ñе разменÑÑ‚ Ñамо криптирани Ñлучайни ИД кодове. Може да предприемете Ñледните Ñтъпки:"</string> + <!-- XBUT: Submission introduction next button--> + <string name="submission_intro_button_next">"Ðапред"</string> + <!-- XACT: Submission intro - illustration description, explanation image --> + <string name="submission_intro_illustration_description">"КриптираниÑÑ‚ положителен резултат от теÑÑ‚ Ñе изпраща в ÑиÑтемата, за да бъдат предупредени оÑтаналите потребители."</string> + <!-- YTXT: submission introduction bullet points --> + <string-array name="submission_intro_bullet_points"> + <item>"Ðко Ви е поÑтавена диагноза COVID-19, можете да уведомите оÑтаналите потребители."</item> + <item>"Ðко Ви е предоÑтавен ТÐРкод за положителен резултат, може да го използвате, за да региÑтрирате теÑта."</item> + <item>"Ðко не разполагате Ñ Ð¢ÐРкод, по телефона може да заÑвите да Ви бъде предоÑтавен такъв."</item> + </string-array> + <!-- XACT: Submission Intro page title --> + <string name="submission_intro_accessibility_title">"Правили ли Ñте Ñи теÑÑ‚? Ето как работи приложението Corona-Warn-App"</string> + + <!-- Dispatcher --> + <!-- XHED: Page headline for dispatcher menu --> + <string name="submission_dispatcher_headline">"Избор"</string> + <!-- XHED: Page subheadline for dispatcher menu --> + <string name="submission_dispatcher_subheadline">"С каква Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ñ€Ð°Ð·Ð¿Ð¾Ð»Ð°Ð³Ð°Ñ‚Ðµ?"</string> + <!-- YTXT: Dispatcher text for QR code option --> + <string name="submission_dispatcher_card_qr">"Документ Ñ QR код"</string> + <!-- YTXT: Body text for QR code dispatcher option --> + <string name="submission_dispatcher_qr_card_text">"РегиÑтрирайте теÑта Ñи, като Ñканирате QR кода на документа."</string> + <!-- XHED: Dialog headline for dispatcher QR prviacy dialog --> + <string name="submission_dispatcher_qr_privacy_dialog_headline">"Ð”ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ Ð·Ð° ÑъглаÑие"</string> + <!-- YTXT: Dialog Body text for dispatcher QR privacy dialog --> + <string name="submission_dispatcher_qr_privacy_dialog_body">"By tapping on “Acceptâ€, you consent to the App querying the status of your coronavirus test and displaying it in the App. This feature is available to you if you have received a QR code and have consented to your test result being transmitted to the App’s server system. As soon as the testing lab has stored your test result on the server, you will be able to see the result in the App. If you have enabled notifications, you will also receive a notification outside the App telling you that your test result has been received. However, for privacy reasons, the test result itself will only be displayed in the App. You can withdraw this consent at any time by deleting your test registration in the App. Withdrawing your consent will not affect the lawfulness of processing before its withdrawal. Further information can be found in the menu under “Data Privacy Informationâ€."</string> + <!-- XBUT: submission(dispatcher QR Dialog) - positive button (right) --> + <string name="submission_dispatcher_qr_privacy_dialog_button_positive">"Приемам"</string> + <!-- XBUT: submission(dispatcher QR Dialog) - negative button (left) --> + <string name="submission_dispatcher_qr_privacy_dialog_button_negative">"Ðе приемам"</string> + <!-- YTXT: Dispatcher text for TAN code option --> + <string name="submission_dispatcher_card_tan_code">"ТÐРкод"</string> + <!-- YTXT: Body text for TAN code dispatcher option --> + <string name="submission_dispatcher_tan_code_card_text">"РегиÑтрирайте теÑта Ñи, като въведете ТÐРкода ръчно."</string> + <!-- YTXT: Dispatcher text for TELE-TAN option --> + <string name="submission_dispatcher_card_tan_tele">"ЗаÑвка за ТÐРкод"</string> + <!-- YTXT: Body text for TELE_TAN dispatcher option --> + <string name="submission_dispatcher_tan_tele_card_text">"МолÑ, обадете ни Ñе, ако Ви е поÑтавена диагноза COVID-19."</string> + <!-- XACT: Dispatcher Tan page title --> + <string name="submission_dispatcher_accessibility_title">"С каква Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ñ€Ð°Ð·Ð¿Ð¾Ð»Ð°Ð³Ð°Ñ‚Ðµ?"</string> + + <!-- Submission Positive Other Warning --> + <!-- XHED: Page title for the positive result additional warning page--> + <string name="submission_positive_other_warning_title">"Предупреждаване на оÑтаналите потребители"</string> + <!-- XHED: Page headline for the positive result additional warning page--> + <string name="submission_positive_other_warning_headline">"МолÑ, помогнете на вÑички наÑ!"</string> + <!-- YTXT: Body text for the positive result additional warning page--> + <string name="submission_positive_other_warning_body">"Като Ñледваща Ñтъпка може да позволите на приложението Corona-Warn-App да Ñподели Вашите Ñлучайни ИД кодове за поÑледните 14 дни Ñ Ð¾Ñтаналите потребители. По този начин може да предупредите други хора и да помогнете за прекъÑване на веригата на заразÑване.\n\nÐнонимноÑтта Ви Ñе запазва, тъй като Ñе изпращат Ñамо Ñлучайни ИД кодове, които не Ви идентифицират."</string> + <!-- XHED: Title for the privacy card--> + <string name="submission_positive_other_warning_privacy_title">"ÐеприкоÑновеноÑÑ‚ на данните"</string> + <!-- YTXT: Body text for the privacy card--> + <string name="submission_positive_other_warning_privacy_body">"By tapping on “Acceptâ€, you consent to the App sending your positive test result to the App’s server system along with your random IDs from the last 14 days, so that other App users who have enabled the exposure logging feature can be automatically notified that they may have been exposed to a risk of infection. The random IDs transmitted for this purpose do not contain any information that would allow conclusions to be drawn about your identity or your person. \n\nTransmitting your test result via the App is voluntary. You will not be penalized if you do not transmit your test result. Since it is not possible to trace or check whether and how you use the App, nobody but you will know whether you have transmitted the information that you are infected.\n\nYou can withdraw your consent at any time by deleting the App. This withdrawal of your consent will not affect the lawfulness of the processing carried out based on the consent prior to the withdrawal. Further information can be found in the menu under “Data Privacy Informationâ€."</string> + <!-- XBUT: other warning continue button --> + <string name="submission_positive_other_warning_button">"Ðапред"</string> + <!-- XACT: other warning - illustration description, explanation image --> + <string name="submission_positive_other_illustration_description">"УÑтройÑтво предава на ÑиÑтемата Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° положителен резултат от теÑÑ‚."</string> + + + <!-- Submission Done --> + <!-- XHED: Page title for completed submission page --> + <string name="submission_done_title">"Благодарим Ви!"</string> + <!-- YTXT: Body text for completed submission page --> + <string name="submission_done_body">"ВашиÑÑ‚ Ð¿Ñ€Ð¸Ð½Ð¾Ñ Ðµ много ценен! Благодарение на Вашата подкрепа ще бъдат предупредени други хора и те ще могат да реагират адекватно."</string> + <!-- XHED: Page subtitle for completed submission page --> + <string name="submission_done_subtitle">"МолÑ, не забравÑйте:"</string> + <!-- YTXT: text after submission: contagious --> + <string name="submission_done_contagious">"Вие Ñте ноÑител на заразата."</string> + <!-- YTXT: text after submission: isolate --> + <string name="submission_done_isolate">"Ðеобходимо е да Ñе Ñамоизолирате."</string> + <!-- XHED: Title for further info --> + <string name="submission_done_further_info_title">"Още информациÑ:"</string> + <!-- YTXT: submission done further info bullet points --> + <string-array name="submission_done_further_info_bullet_points"> + <item>"Периодът, в който Ñ‚Ñ€Ñбва да Ñте под карантина, е 14 дни. Ðаблюдавайте Ñвоите Ñимптоми и Ñ‚Ñхното развитие."</item> + <item>"Органът за общеÑтвено здравеопазване ще изиÑка от Ð’Ð°Ñ Ð´Ð° ÑÑŠÑтавите ÑпиÑък на Вашите контактни лица. Той Ñ‚Ñ€Ñбва да включва вÑички лица, Ñ ÐºÐ¾Ð¸Ñ‚Ð¾ Ñте били в близък контакт (на разÑтоÑние под 2 метра или при разговор лице в лице) в продължение на повече от 15 минути през поÑледните два дни, преди да развиете Ñимптоми."</item> + <item>"МолÑ, обърнете оÑобено внимание на хората, които нÑма да бъдат уведомени директно чрез приложението, тъй като нÑмат Ñмартфон или не Ñа инÑталирали приложението."</item> + <item>"Може вÑе още да Ñте ноÑител на заразата дори ако вече не проÑвÑвате Ñимптоми и отново Ñе чувÑтвате добре."</item> + </string-array> + <!-- XBUT: submission finished button --> + <string name="submission_done_button_done">"Готово"</string> + <!-- XACT: submission finished - illustration description, explanation image --> + <string name="submission_done_illustration_description">"Ð’Ñички в групата аплодират, защото нÑкой е Ñподелил резултата от ÑÐ²Ð¾Ñ Ñ‚ÐµÑÑ‚."</string> + + <!-- Submission Contact --> + <!-- XHED: Page title for contact page in submission flow --> + <string name="submission_contact_title">"ЗаÑвка за ТÐРкод"</string> + <!-- XHED: Page headline for contact page in submission flow --> + <string name="submission_contact_headline">"Как работи:"</string> + <!-- YTXT: Body text for contact page in submission flow--> + <string name="submission_contact_body">"МолÑ, запазете резултата от ÑÐ²Ð¾Ñ Ñ‚ÐµÑÑ‚ (ако е наличен) и Ñе подгответе да заÑвите ТÐРкод."</string> + <!-- XBUT: submission contact call button --> + <string name="submission_contact_button_call">"Обаждане"</string> + <!-- XBUT: submission contact enter tan button --> + <string name="submission_contact_button_enter">"Въвеждане на ТÐÐ"</string> + <!-- YTXT: Body text for step 1 of contact page --> + <string name="submission_contact_step_1_body">"Обадете Ñе на горещата Ð»Ð¸Ð½Ð¸Ñ Ð¸ поиÑкайте ТÐРкод:"</string> + <!-- XLNK: Button / hyperlink to phone call for TAN contact page --> + <string name="submission_contact_number_display">"+49 800 7540002"</string> + <!-- XLNK: Technical number which is called when the user clicks on the display number --> + <string name="submission_contact_number_dial">"+49 800 7540002"</string> + <!-- YTXT: Body text for step 2 of contact page--> + <string name="submission_contact_step_2_body">"РегиÑтрирайте теÑта, като въведете ТÐРкода в приложението."</string> + <!-- YTXT: Body text for operating hours in contact page--> + <string name="submission_contact_operating_hours_body">"Езици: \nнемÑки, английÑки, турÑки\n\nРаботно време:\nот понеделник до неделÑ: 24 чаÑа\n\nОбажданиÑта Ñа безплатни."</string> + + <!-- XACT: Submission contact page title --> + <string name="submission_contact_accessibility_title">"Обадете Ñе на горещата Ð»Ð¸Ð½Ð¸Ñ Ð¸ поиÑкайте ТÐРкод"</string> + <!-- XACT: Content Description for submission contact step 1, number has to sync with the display number --> + <string name="submission_contact_step_1_content">"Ð’ първата Ñтъпка Ñе обаждате на горещата линиÑ, за да заÑвите ТÐРкод. ТелефонниÑÑ‚ номер е +49 800 7540002. Работното време е от 8:00 до 22:00 ч. от понеделник до петък и от 10:00 до 22:00 ч в Ñъбота и Ð½ÐµÐ´ÐµÐ»Ñ . Обаждането е безплатно."</string> + <!-- XACT: Content Description for submission contact step 2 --> + <string name="submission_contact_step_2_content">"Във втората Ñтъпка региÑтрирате теÑта Ñи, като въвеждате ТÐРкода в приложението."</string> + + <!-- Submission Status Card --> + <!-- XHED: Page title for the various submission status: fetching --> + <string name="submission_status_card_title_fetching">"Извършва Ñе извличане на данни"</string> + <!-- XHED: Page title for the various submission status: unregistered --> + <string name="submission_status_card_title_unregistered">"Правили ли Ñте Ñи теÑÑ‚?"</string> + <!-- XHED: Page title for the various submission status: pending --> + <string name="submission_status_card_title_pending">"Ð’Ñе още нÑма наличен резултат от теÑта Ви"</string> + <!-- XHED: Page title for the various submission status: available --> + <string name="submission_status_card_title_available">"Резултатът от Ð’Ð°ÑˆÐ¸Ñ Ñ‚ÐµÑÑ‚ е наличен"</string> + <!-- XHED: Page title for the various submission status: positive --> + <string name="submission_status_card_title_positive">"Положителен резултат"</string> + <!-- XHED: Subtitle for the submission status card: invalid --> + <string name="submission_status_card_subtitle_invalid">"Ðевалиден теÑÑ‚"</string> + <!-- XHED: Subtitle for the submission status card: negative --> + <string name="submission_status_card_subtitle_negative">"Отрицателен резултат"</string> + <!-- YTXT: Body text for submission status: fetching --> + <string name="submission_status_card_body_fetching">"Резултатът Ви Ñе актуализира"</string> + <!-- YTXT: Body text for submission status: unregistered --> + <string name="submission_status_card_body_unregistered">"Помогнете за прекъÑването на веригата на заразÑване, като уведомите оÑтаналите потребители."</string> + <!-- YTXT: Body text for submission status: pending --> + <string name="submission_status_card_body_pending">"Резултатът от Ð’Ð°ÑˆÐ¸Ñ Ñ‚ÐµÑÑ‚ вÑе още не е определен."</string> + <!-- YTXT: Body text for submission status: invalid --> + <string name="submission_status_card_body_invalid">"Ðе може да бъде определен резултат от Ð’Ð°ÑˆÐ¸Ñ Ñ‚ÐµÑÑ‚."</string> + <!-- YTXT: Body text for submission status: positive --> + <string name="submission_status_card_body_positive">"Потвърден е положителен резултат от теÑта Ви за SARS-CoV-2."</string> + <!-- YTXT: Body text for submission status: negative --> + <string name="submission_status_card_body_negative">"Потвърден е отрицателен резултат от теÑта Ви за SARS-CoV-2."</string> + <!-- XBUT: submission status card unregistered button --> + <string name="submission_status_card_button_unregistered">"Ðаучете повече и помогнете"</string> + <!-- XBUT: submission status card show results button --> + <string name="submission_status_card_button_show_results">"Показване на теÑÑ‚"</string> + <!-- XHED: submission status card positive result subtitle --> + <string name="submission_status_card_positive_result_subtitle">"МолÑ, не забравÑйте:"</string> + <!-- YTXT: text for contagious card --> + <string name="submission_status_card_positive_result_contagious">"Вие Ñте ноÑител на заразата. Ðеобходимо е да Ñе Ñамоизолирате."</string> + <!-- YTXT: text for contact card --> + <string name="submission_status_card_positive_result_contact">"От органа за общеÑтвено здравеопазване ще Ñе Ñвържат Ñ Ð’Ð°Ñ Ð² Ñледващите нÑколко дни по телефон или Ñ Ð¿Ð¸Ñмо."</string> + <!-- YTXT: text for share result card--> + <string name="submission_status_card_positive_result_share">"Споделете Ñвоите Ñлучайни ИД кодове, за да предупредите оÑтаналите потребители."</string> + + <!-- Test Result Card --> + <string name="test_result_card_headline">"Вашата диагноза:"</string> + <!-- YTXT: virus name text --> + <string name="test_result_card_virus_name_text">"SARS-CoV-2"</string> + <!-- YTXT: registered at text --> + <string name="test_result_card_registered_at_text">"РегиÑтрирано на %s"</string> + <!-- YTXT: negative status text --> + <string name="test_result_card_status_negative">"Отрицателен"</string> + <!-- YTXT: positive status text --> + <string name="test_result_card_status_positive">"Положителен"</string> + <!-- YTXT: invalid status text --> + <string name="test_result_card_status_invalid">"Ðе може да бъде определен резултат"</string> + <!-- YTXT: pending status text --> + <string name="test_result_card_status_pending">"Ð’Ñе още нÑма резултат от Ð’Ð°ÑˆÐ¸Ñ Ñ‚ÐµÑÑ‚"</string> + <!-- XHED: Title for further info of test result negative --> + <string name="test_result_card_negative_further_info_title">"Още информациÑ:"</string> + <!-- YTXT: Content for further info of test result negative --> + <string-array name="test_result_card_negative_further_info_bullet_points"> + <item>"Ð’Ñе още ли не Ñе чувÑтвате добре? Обадете Ñе на Ð»Ð¸Ñ‡Ð½Ð¸Ñ Ñи лекар, ако Ñе чувÑтвате много зле и/или Ñимптомите Ви Ñа Ñе влошили."</item> + <item>"ОÑтанете Ñи вкъщи, докато Ñе почувÑтвате добре. Ðко Ñе заразите Ñ ÐºÐ¾Ñ€Ð¾Ð½Ð°Ð²Ð¸Ñ€ÑƒÑ (SARS-CoV-2) в момент, когато организмът Ви е отÑлабен от друга инфекциÑ, това може да доведе до Ñериозно заболÑване."</item> + <item>"Ðе ходете на работа, ако не Ñе чувÑтвате добре, за да не излагате други хора на риÑк. Ðко Ñимптомите Ви Ñе влошат, може да Ñе наложи да направите нов теÑÑ‚ за SARS-CoV-2."</item> + </string-array> + + <!-- #################################### + Button Tooltips for Accessibility + ###################################### --> + <!-- XACT: back button--> + <string name="button_back">"Ðазад към предишната Ñтраница"</string> + <!-- XACT: proceed button--> + <string name="button_proceed">"Бутон „Ðапред“"</string> + <!-- XACT: share button--> + <string name="button_share">"СподелÑне"</string> + <!-- XACT: menu button--> + <string name="button_menu">"Меню"</string> + <!-- XACT: Accessibility needs a suffix to strings, to reduce the amount of manual translations this string is appended to accessibility button strings, e.g. "Zurück Taste", "Taste" is the default used by android in german --> + <string name="suffix_button">"Бутон"</string> + <!-- XACT: Accessibility needs a suffix to strings, to reduce the amount of manual translations this string is appended to accessibility content description strings for images, e.g. "Eine Gruppe von... Bild" --> + <string name="suffix_image">"Изображение"</string> + + <!-- #################################### + Business Error Messages + ###################################### --> + <!-- XTXT: error dialog - detailed text if device is offline --> + <string name="errors_no_network">"ÐÑмате връзка Ñ Ð¸Ð½Ñ‚ÐµÑ€Ð½ÐµÑ‚."</string> + <!-- XTXT: error dialog - detailed text if device has not enough device space --> + <string name="errors_not_enough_device_storage">"Ðе разполагате Ñ Ð´Ð¾Ñтатъчно Ñвободна памет."</string> + <!-- XTXT: error dialog - detailed text if there is error with Google API --> + <string name="errors_communication_with_api">"Грешка при комуникациÑта Ñ Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñа на Google"</string> + <!-- XTXT: error dialog - detailed text if there is an error during external navigation / external action --> + <string name="errors_external_action">"Ðа може да извършите това дейÑтвие. МолÑ, обадете Ñе на горещата линиÑ."</string> + <!-- XTXT: error dialog - phone still needs Google Play Services or Google Mobile Services update --> + <string name="errors_google_update_needed">"Вашето Corona-Warn-App приложение е инÑталирано правилно, но уÑлугата “извеÑÑ‚Ð¸Ñ Ð·Ð° Ð¸Ð·Ð»Ð°Ð³Ð°Ð½Ð¸Ñ Ð½Ð° риÑк от заразÑване Ñ COVID-19†не Ñе предлага за операционната ÑиÑтема на Ð’Ð°ÑˆÐ¸Ñ Ñмартфон. Това означава, че не можете да използвате приложението Corona-Warn-App. Повече Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¼Ð¾Ð¶Ðµ да намерите в Ñтраницата „ЧЗВ“ на адреÑ: https://www.coronawarn.app/en/faq/"</string> + <!-- XTXT: error dialog - either Google API Error (10) or reached request limit per day --> + <string name="errors_google_api_error">"Приложението Corona-Warn-App работи правилно, но не можем да актуализираме Ð’Ð°ÑˆÐ¸Ñ ÑÑ‚Ð°Ñ‚ÑƒÑ Ð½Ð° риÑк. РегиÑтрирането на Ð¸Ð·Ð»Ð°Ð³Ð°Ð½Ð¸Ñ Ð½Ð° риÑк вÑе още е активно и функционира правилно. За повече Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¿Ð¾Ñетете Ñтраницата „ЧЗВ“ на адреÑ: https://www.coronawarn.app/en/faq/ \n"</string> + + <!-- #################################### + Generic Error Messages + ###################################### --> + <!-- XHED: error dialog - headline --> + <string name="errors_generic_headline">"Ðещо Ñе обърка."</string> + <!-- XTXT: error dialog - short text for error reason --> + <string name="errors_generic_details_headline">"Причина"</string> + <!-- XBUT: error dialog - button close --> + <string name="errors_generic_button_positive">"OK"</string> + <!-- XBUT: error dialog - button show details --> + <string name="errors_generic_button_negative">"Подробна информациÑ"</string> + <!-- XTXT: error dialog - text when no error description is available --> + <string name="errors_generic_text_unknown_error_cause">"Възникна неочаквана грешка."</string> + + <!-- #################################### + Just for Development + ###################################### --> + <!-- NOTR --> + <string name="lorem_ipsum">"Lorem Ipsum"</string> + <!-- NOTR --> + <string name="menu_test_api">"Test API"</string> + <!-- NOTR --> + <string name="menu_test_risk_level">"Test Risk Level"</string> + <!-- NOTR --> + <string name="menu_test_notification">"Test Notification"</string> + <!-- NOTR --> + <string name="test_api_button_api_launch">"Android API Test(Manual Test)"</string> + <!-- NOTR --> + <string name="test_api_button_start">"Start (Broadcast/Receive Bluetooth)"</string> + <!-- NOTR --> + <string name="test_api_button_get_exposure_keys">"Get Exposure keys (my keys history from api)"</string> + <!-- NOTR --> + <string name="test_api_button_share_my_keys">"Share my keys via Email"</string> + <!-- NOTR --> + <string name="test_api_button_enter_other_keys">"Submit Exposure Key"</string> + <!-- NOTR --> + <string name="test_api_button_show_qr_code">"Show QR Code"</string> + <!-- NOTR --> + <string name="test_api_button_submit_keys">"Submit keys to Server"</string> + <!-- NOTR --> + <string name="test_api_button_scan_qr_code">"Scan Exposure Key"</string> + <!-- NOTR --> + <string name="test_api_switch_last_three_hours_from_server">"Last 3 Hours Mode"</string> + <!-- NOTR --> + <string name="test_api_button_check_exposure">"Check Exposure Summary"</string> + <!-- NOTR --> + <string name="test_api_exposure_summary_headline">"Exposure summary"</string> + <!-- NOTR --> + <string name="test_api_body_daysSinceLastExposure">"Days since last exposure: %1$s"</string> + <!-- NOTR --> + <string name="test_api_body_attenuation">"Attenuation Durations in Minutes: %1$s"</string> + <!-- NOTR --> + <string name="test_api_body_summation_risk">"Summation Risk Score: %1$s"</string> + <!-- NOTR --> + <string name="test_api_body_matchedKeyCount">"Matched key count: %1$s"</string> + <!-- NOTR --> + <string name="test_api_body_maximumRiskScore">"Maximum risk score %1$s"</string> + <!-- NOTR --> + <string name="test_api_body_my_keys">"My keys (count: %1$d)"</string> + <!-- NOTR --> + <string name="test_api_body_other_keys">"Other key"</string> + <!-- NOTR --> + <string name="test_api_calculate_risk_level">"Calculate Risk Level"</string> + +</resources> \ No newline at end of file diff --git a/Corona-Warn-App/src/main/res/values-de/strings.xml b/Corona-Warn-App/src/main/res/values-de/strings.xml index 03425f80ccd9f426a5e23ec4eb004836a31a2d40..5fc9794c6dd3287348c64eb6a9b84fcea5b0b7da 100644 --- a/Corona-Warn-App/src/main/res/values-de/strings.xml +++ b/Corona-Warn-App/src/main/res/values-de/strings.xml @@ -137,6 +137,10 @@ <plurals name="risk_card_body_contact_value"> <item quantity="one">"%1$s Risiko-Begegnung"</item> <item quantity="other">"%1$s Risiko-Begegnungen"</item> + <item quantity="zero">"%1$s Risiko-Begegnungen"</item> + <item quantity="two">"%1$s Risiko-Begegnungen"</item> + <item quantity="few">"%1$s Risiko-Begegnungen"</item> + <item quantity="many">"%1$s Risiko-Begegnungen"</item> </plurals> <!-- XTXT: risk card - tracing active for x out of 14 days --> <string name="risk_card_body_saved_days">"Risiko-Ermittlung war für %1$s der letzten 14 Tage aktiv"</string> @@ -164,6 +168,10 @@ <plurals name="risk_card_increased_risk_body_contact_last"> <item quantity="one">"%1$s Tag seit der letzten Begegnung"</item> <item quantity="other">"%1$s Tage seit der letzten Begegnung"</item> + <item quantity="zero">"%1$s Tage seit der letzten Begegnung"</item> + <item quantity="two">"%1$s Tage seit der letzten Begegnung"</item> + <item quantity="few">"%1$s Tage seit der letzten Begegnung"</item> + <item quantity="many">"%1$s Tage seit der letzten Begegnung"</item> </plurals> <!-- XHED: risk card - unknown risk headline --> <string name="risk_card_unknown_risk_headline">"Unbekanntes Risiko"</string> @@ -177,6 +185,8 @@ <string name="risk_card_outdated_risk_headline">"Risiko-Ermittlung nicht möglich"</string> <!-- XTXT: risk card - outdated risk, calculation couldn't be updated in the last 24 hours --> <string name="risk_card_outdated_risk_body">"Ihre Risiko-Ermittlung konnte seit mehr als 24 Stunden nicht aktualisiert werden."</string> + <!-- XTXT: risk card - outdated risk manual, calculation couldn't be updated in the last 48 hours --> + <string name="risk_card_outdated_manual_risk_body">"Ihr Risikostatus wurde seit mehr als 48 Stunden nicht aktualisiert. Bitte aktualisieren Sie Ihren Risikostatus."</string> <!-- XHED: risk card - loading headline, update is ongoing --> <string name="risk_card_loading_headline">"Prüfung läuft …"</string> <!-- XTXT: risk card - loading, data is downloaded and will be checked, this can take several minutes --> @@ -261,7 +271,7 @@ <!-- XHED: App overview subtitle for glossary keys --> <string name="main_overview_subtitle_glossary_keys">"Zufallscode"</string> <!-- YTXT: App overview body for glossary keys --> - <string name="main_overview_body_glossary_keys">"Die Zufallscodes sind zufällig erzeugte Zahlen- und Buchstabenkombinationen. Sie werden zwischen benachbarten Smartphones ausgetauscht. Zufallscodes lassen sich nicht einer bestimmten Person zuordnen und werden nach 14 Tagen automatisch gelöscht. Eine Corona-positiv getestete Person kann ihre Zufallscodes der letzten bis zu 14 Tage freiwillig mit anderen CWA-Nutzern teilen."</string> + <string name="main_overview_body_glossary_keys">"Die Zufallscodes sind zufällig erzeugte Zahlen- und Buchstabenkombinationen. Sie werden zwischen benachbarten Smartphones ausgetauscht. Zufallscodes lassen sich nicht einer bestimmten Person zuordnen und werden nach 14 Tagen automatisch gelöscht. Eine Corona-positiv getestete Person kann ihre Zufallscodes der letzten bis zu 14 Tage freiwillig mit anderen App-Nutzern teilen."</string> <!-- XACT: main (overview) - illustraction description, explanation image --> <string name="main_overview_illustration_description">"Ein Smartphone zeigt unterschiedliche Inhalte, die von eins bis drei nummeriert sind."</string> <!-- XACT: App main page title --> @@ -319,6 +329,10 @@ <plurals name="risk_details_information_body_increased_risk"> <item quantity="one">"Sie haben ein erhöhtes Infektionsrisiko, da Sie zuletzt vor %1$s Tag mindestens einer Corona-positiv getesteten Person über einen längeren Zeitraum und mit einem geringen Abstand begegnet sind."</item> <item quantity="other">"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."</item> + <item quantity="zero">"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."</item> + <item quantity="two">"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."</item> + <item quantity="few">"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."</item> + <item quantity="many">"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."</item> </plurals> <!-- YTXT: risk details - risk calculation explanation --> <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> @@ -393,8 +407,22 @@ <string name="onboarding_tracing_dialog_button_positive">"Nicht aktivieren"</string> <!-- XBUT: onboarding(tracing) - negative button (right) --> <string name="onboarding_tracing_dialog_button_negative">"Zurück"</string> + <!-- XACT: onboarding(tracing) - dialog about background jobs header text --> + <string name="onboarding_background_fetch_dialog_headline">"Hintergrundaktualisierung ausgeschaltet"</string> + <!-- YMSI: onboarding(tracing) - dialog about background jobs --> + <string name="onboarding_background_fetch_dialog_body">"Sie haben die Hintergrundaktualisierung für die Corona-Warn-App ausgeschaltet. Um die automatische Risiko-Ermittlung zu nutzen, müssen Sie die Hintergrundaktualisierung einschalten. Wenn Sie die Hintergrundaktualisierung nicht einschalten, können Sie Ihre Risiko-Ermittlung nur manuell in der App starten. Sie können die Hintergrundaktualisierung für die App jederzeit in den Geräteeinstellungen einschalten."</string> + <!-- XBUT: onboarding(tracing) - dialog about background jobs, open device settings --> + <string name="onboarding_background_fetch_dialog_button_positive">"Geräteeinstellungen öffnen"</string> + <!-- XBUT: onboarding(tracing) - dialog about background jobs, continue in app --> + <string name="onboarding_background_fetch_dialog_button_negative">"Risiko-Ermittlung manuell starten"</string> <!-- XACT: onboarding(tracing) - illustraction description, header image --> <string name="onboarding_tracing_illustration_description">"Drei Personen haben die Risiko-Ermittlung auf ihren Smartphones aktiviert, ihre Begegnung wird daher aufgezeichnet."</string> + <!-- XHED: onboarding(tracing) - location explanation for bluetooth headline --> + <string name="onboarding_tracing_location_headline">"Standort-Verwendung erlauben"</string> + <!-- XTXT: onboarding(tracing) - location explanation for bluetooth body text --> + <string name="onboarding_tracing_location_body">"Auf Ihren Standort wird nicht zugegriffen. Die Standort-Erlaubnis wird benötigt, da Google bzw. Android diese für die Verwendung von Bluetooth voraussetzt."</string> + <!-- XBUT: onboarding(tracing) - button enable tracing --> + <string name="onboarding_tracing_location_button">"Geräte-Einstellungen öffnen"</string> <!-- XACT: Onboarding (test) page title --> <string name="onboarding_test_accessibility_title">"Einführung Seite 4 von 5: Falls Sie positiv getestet wurden"</string> <!-- XHED: onboarding(test) - about positive tests --> @@ -436,6 +464,8 @@ <string name="settings_tracing_body_active">"Risiko-Ermittlung aktiv"</string> <!-- XTXT: settings(tracing) - shows status under header in home, inactive --> <string name="settings_tracing_body_inactive">"Risiko-Ermittlung gestoppt"</string> + <!-- XTXT: settings(tracing) - shows status under header in home, inactive location --> + <string name="settings_tracing_body_inactive_location">"Ortungsdienste deaktiviert"</string> <!-- YTXT: settings(tracing) - explains tracings --> <string name="settings_tracing_body_text">"Um zu erkennen, ob für Sie ein Infektionsrisiko vorliegt, müssen Sie die Risiko-Ermittlung aktivieren. Die Risiko-Ermittlung funktioniert, indem Ihr Handy per Bluetooth verschlüsselte Zufallscodes anderer Nutzerinnen und Nutzer empfängt und Ihren eigenen Zufallscode an deren Smartphones weitergibt. Die Funktion lässt sich jederzeit wieder deaktivieren."<xliff:g id="line_break">"\n"</xliff:g><xliff:g id="line_break">"\n"</xliff:g>"Die verschlüsselten Zufallscodes geben nur Auskunft über das Datum, die Dauer und die anhand der Signalstärke berechnete Entfernung zu Ihren Mitmenschen. Persönliche Daten wie Name, Adresse oder Aufenthaltsort werden zu keiner Zeit erfasst. Konkrete Rückschlüsse auf Personen sind nicht möglich."</string> <!-- XTXT: settings(tracing) - status next to switch under title --> @@ -464,6 +494,10 @@ <plurals name="settings_tracing_status_body_active"> <item quantity="one">"Die Risiko-Ermittlung ist seit insgesamt einem Tag aktiv. Eine verlässliche Risiko-Ãœberprüfung kann nur mit einer dauerhaft aktivierten Risiko-Ermittlung erfolgen."</item> <item quantity="other">"Die Risiko-Ermittlung ist seit insgesamt %1$s Tagen aktiv. Eine verlässliche Risiko-Ãœberprüfung kann nur mit einer dauerhaft aktivierten Risiko-Ermittlung erfolgen."</item> + <item quantity="zero">"Die Risiko-Ermittlung ist seit insgesamt %1$s Tagen aktiv. Eine verlässliche Risiko-Ãœberprüfung kann nur mit einer dauerhaft aktivierten Risiko-Ermittlung erfolgen."</item> + <item quantity="two">"Die Risiko-Ermittlung ist seit insgesamt %1$s Tagen aktiv. Eine verlässliche Risiko-Ãœberprüfung kann nur mit einer dauerhaft aktivierten Risiko-Ermittlung erfolgen."</item> + <item quantity="few">"Die Risiko-Ermittlung ist seit insgesamt %1$s Tagen aktiv. Eine verlässliche Risiko-Ãœberprüfung kann nur mit einer dauerhaft aktivierten Risiko-Ermittlung erfolgen."</item> + <item quantity="many">"Die Risiko-Ermittlung ist seit insgesamt %1$s Tagen aktiv. Eine verlässliche Risiko-Ãœberprüfung kann nur mit einer dauerhaft aktivierten Risiko-Ermittlung erfolgen."</item> </plurals> <!-- XACT: settings(tracing) - describes illustration --> <string name="settings_tracing_illustration_description_active">"Drei Personen haben die Risiko-Ermittlung auf ihren Smartphones aktiviert, ihre Begegnung wird daher aufgezeichnet."</string> @@ -844,9 +878,9 @@ <string name="submission_done_further_info_title">"Weitere Infos:"</string> <!-- YTXT: submission done further info bullet points --> <string-array name="submission_done_further_info_bullet_points"> - <item>"Ihre Quarantänezeit beträgt im Regelfall 14 Tage. Beobachten und erfassen Sie genau, wie sich ihre Krankheitszeichen entwickeln."</item> + <item>"Ihre Quarantänezeit beträgt im Regelfall 14 Tage. Beobachten und erfassen Sie genau, wie sich Ihre Krankheitszeichen entwickeln."</item> <item>"Sie werden von Ihrem Gesundheitsamt gebeten, eine Liste Ihrer Kontaktpersonen zu erstellen. Dabei sollen alle Personen erfasst werden, mit denen Sie in den zwei Tagen vor Erkrankungsbeginn engen Kontakt (unter 2 Meter, direktes Gespräch) über insgesamt 15 Minuten hatten."</item> - <item>"Bitte denken Sie hier auch besonders an Personen, die nicht automatisch durch die App informiert werden, da sie kein Smartphone oder die App haben."</item> + <item>"Bitte denken Sie hier auch besonders an Personen, die nicht automatisch durch die App informiert werden, da sie kein Smartphone besitzen oder die App nicht installiert haben."</item> <item>"Auch wenn Sie keine Krankheitszeichen mehr haben und sich wieder gesund fühlen, könnten Sie noch ansteckend sein."</item> </string-array> <!-- XBUT: submission finished button --> @@ -974,7 +1008,9 @@ <!-- XTXT: error dialog - detailed text if there is an error during external navigation / external action --> <string name="errors_external_action">"Diese Aktion ist aktuell leider nicht verfügbar. Bitte kontaktieren Sie die Hotline."</string> <!-- XTXT: error dialog - phone still needs Google Play Services or Google Mobile Services update --> - <string name="errors_google_update_needed">"Ihre Corona-Warn-App ist korrekt installiert. Leider fehlen Ihrem Smartphone die "Benachrichtigungen zu möglicher Begegnung mit COVID-19-Infizierten" und Sie können die Corona-Warn-App nicht nutzen. Weitere Informationen finden Sie in unseren FAQ: https://www.coronawarn.app/de/faq/ \n"</string> + <string name="errors_google_update_needed">"Ihre Corona-Warn-App ist korrekt installiert. Leider fehlt dem Betriebssystem Ihres Smartphones der Dienst „Benachrichtigungen zu möglicher Begegnung mit COVID-19-Infizierten“ und Sie können die Corona-Warn-App nicht nutzen. Weitere Informationen finden Sie in unseren FAQ: https://www.coronawarn.app/de/faq/"</string> + <!-- XTXT: error dialog - either Google API Error (10) or reached request limit per day --> + <string name="errors_google_api_error">"Ihre Corona-Warn-App läuft fehlerfrei. Leider können Sie Ihren Risikostatus im Moment nicht aktualisieren. Ihre Risiko-Ermittlung ist weiterhin aktiv und funktioniert. Weitere Informationen finden Sie in unseren FAQ: https://www.coronawarn.app/de/faq/ \n"</string> <!-- #################################### Generic Error Messages diff --git a/Corona-Warn-App/src/main/res/values-en/strings.xml b/Corona-Warn-App/src/main/res/values-en/strings.xml index 4688db99fa4f71c8d270a132f6f6591a9ae55f98..28563901fa8f2eab074422eaaf47b2739f34336e 100644 --- a/Corona-Warn-App/src/main/res/values-en/strings.xml +++ b/Corona-Warn-App/src/main/res/values-en/strings.xml @@ -132,11 +132,15 @@ ###################################### --> <!-- XTXT: risk card - no contact yet --> - <string name="risk_card_body_contact">"No exposures up to now"</string> + <string name="risk_card_body_contact">"No exposure up to now"</string> <!-- XTXT: risk card - number of contacts for one or more --> <plurals name="risk_card_body_contact_value"> <item quantity="one">"%1$s exposure"</item> <item quantity="other">"%1$s exposures"</item> + <item quantity="zero">"%1$s exposures"</item> + <item quantity="two">"%1$s exposures"</item> + <item quantity="few">"%1$s exposures"</item> + <item quantity="many">"%1$s exposures"</item> </plurals> <!-- XTXT: risk card - tracing active for x out of 14 days --> <string name="risk_card_body_saved_days">"Exposure logging was active for %1$s of the last 14 days"</string> @@ -164,6 +168,10 @@ <plurals name="risk_card_increased_risk_body_contact_last"> <item quantity="one">"%1$s day since the last encounter"</item> <item quantity="other">"%1$s days since the last encounter"</item> + <item quantity="zero">"%1$s days since the last encounter"</item> + <item quantity="two">"%1$s days since the last encounter"</item> + <item quantity="few">"%1$s days since the last encounter"</item> + <item quantity="many">"%1$s days since the last encounter"</item> </plurals> <!-- XHED: risk card - unknown risk headline --> <string name="risk_card_unknown_risk_headline">"Unknown Risk"</string> @@ -177,6 +185,8 @@ <string name="risk_card_outdated_risk_headline">"Exposure logging is not possible"</string> <!-- XTXT: risk card - outdated risk, calculation couldn't be updated in the last 24 hours --> <string name="risk_card_outdated_risk_body">"Your exposure logging could not be updated for more than 24 hours."</string> + <!-- XTXT: risk card - outdated risk manual, calculation couldn't be updated in the last 48 hours --> + <string name="risk_card_outdated_manual_risk_body">"Your risk status has not been updated for more than 48 hours. Please update your risk status."</string> <!-- XHED: risk card - loading headline, update is ongoing --> <string name="risk_card_loading_headline">"Check is running…"</string> <!-- XTXT: risk card - loading, data is downloaded and will be checked, this can take several minutes --> @@ -210,7 +220,7 @@ <!-- YMSG: Message when sharing is executed --> <string name="main_share_message">"Fighting coronavirus together"<xliff:g id="line_break">"\n"</xliff:g>"I\'m in on this, you too?"<xliff:g id="line_break">"\n"</xliff:g><xliff:g id="link_play_store">"https://www.corona-warn-app.de"</xliff:g>"\n"<xliff:g id="line_break">"\n"</xliff:g></string> <!-- XACT: main (share) - illustraction description, explanation image --> - <string name="main_share_illustration_description">"One man is sharing the Corona-Warn-App with four other people."</string> + <string name="main_share_illustration_description">"A man shares the Corona-Warn-App with four other persons."</string> <!-- #################################### Main - Overview @@ -261,9 +271,9 @@ <!-- XHED: App overview subtitle for glossary keys --> <string name="main_overview_subtitle_glossary_keys">"Random IDs"</string> <!-- YTXT: App overview body for glossary keys --> - <string name="main_overview_body_glossary_keys">"Random IDs are combinations of digits and letters generated randomly. They are exchanged between devices in close proximity. Random IDs cannot be assigned to a specific person and are automatically deleted after 14 days. People diagnosed with COVID-19 can opt to share their random IDs of up to the last 14 days with other app users."</string> + <string name="main_overview_body_glossary_keys">"Random IDs are combinations of digits and letters generated randomly. They are exchanged between devices in close proximity. Random IDs cannot be traced to a specific person and are automatically deleted after 14 days. Persons diagnosed with COVID-19 can opt to share their random IDs of up to the last 14 days with other app users."</string> <!-- XACT: main (overview) - illustraction description, explanation image --> - <string name="main_overview_illustration_description">"One device shows different content numbered from 1 to 3."</string> + <string name="main_overview_illustration_description">"A smartphone displays various content, numbered 1 to 3."</string> <!-- XACT: App main page title --> <string name="main_title">"Main page of the Corona-Warn-App"</string> @@ -274,7 +284,7 @@ <!-- XHED: risk details - page title, in toolbar --> <string name="risk_details_title">"Your Risk Status"</string> <!-- XHED: risk details - headline, how a user should act --> - <string name="risk_details_headline_behavior">"Recommendations"</string> + <string name="risk_details_headline_behavior">"Guidelines"</string> <!-- XHED: risk details - multiline headline, bold, how to act correct --> <string name="risk_details_subtitle_behavior">"This is what you should do"</string> <!-- XMSG: risk details - go/stay home, something like a bullet point --> @@ -319,6 +329,10 @@ <plurals name="risk_details_information_body_increased_risk"> <item quantity="one">"You have a higher risk of infection because you were last exposed %1$s day ago over a longer period of time and in close proximity to at least one person diagnosed with COVID-19."</item> <item quantity="other">"You have a higher risk of infection because you were last exposed %1$s days ago over a longer period of time and in close proximity to at least one person diagnosed with COVID-19."</item> + <item quantity="zero">"You have a higher risk of infection because you were last exposed %1$s days ago over a longer period of time and in close proximity to at least one person diagnosed with COVID-19."</item> + <item quantity="two">"You have a higher risk of infection because you were last exposed %1$s days ago over a longer period of time and in close proximity to at least one person diagnosed with COVID-19."</item> + <item quantity="few">"You have a higher risk of infection because you were last exposed %1$s days ago over a longer period of time and in close proximity to at least one person diagnosed with COVID-19."</item> + <item quantity="many">"You have a higher risk of infection because you were last exposed %1$s days ago over a longer period of time and in close proximity to at least one person diagnosed with COVID-19."</item> </plurals> <!-- YTXT: risk details - risk calculation explanation --> <string name="risk_details_information_body_notice">"Your risk of infection is calculated from the exposure logging data (duration and proximity) locally on your device. Your risk of infection cannot be seen by, or passed on to, anyone else."</string> @@ -333,7 +347,6 @@ <string name="risk_details_explanation_dialog_title">Information about exposure logging functionality</string> <!-- YTXT: one time risk explanation dialog - pointing to the faq page for more information--> <string name="risk_details_explanation_dialog_faq_body">For further information, please see our FAQ page.</string> - <!-- #################################### Onboarding ###################################### --> @@ -361,14 +374,14 @@ <!-- YTXT: onboarding(together) - explain application --> <string name="onboarding_body_emphasized">"The app logs encounters between individuals by exchanging encrypted, random IDs between their devices, whereby no personal data whatsoever is accessed."</string> <!-- XACT: onboarding(together) - illustraction description, header image --> - <string name="onboarding_illustration_description">"A group of people are all using their devices in town."</string> + <string name="onboarding_illustration_description">"A group of persons use their smartphones around town."</string> <!-- XACT: Onboarding (privacy) page title --> <string name="onboarding_privacy_accessibility_title">"Onboarding page 2 of 5: Data Privacy. A long text follows. To proceed at any time, use the button at the bottom of the screen."</string> <!-- XHED: onboarding(privacy) - title --> <string name="onboarding_privacy_headline">"Data Privacy"</string> <!-- XACT: onboarding(privacy) - illustraction description, header image --> - <string name="onboarding_privacy_illustration_description">"One of the women is using the Corona-Warn-App on her device. The padlock on the shield is the symbol for encrypted data."</string> + <string name="onboarding_privacy_illustration_description">"A woman uses the Corona-Warn-App on her smartphone. An icon showing a padlock on the background of a shield symbolizes encrypted data."</string> <!-- XACT: Onboarding (tracing) page title --> <string name="onboarding_tracing_accessibility_title">"Onboarding page 3 of 5: How to Enable Exposure Logging"</string> <!-- XHED: onboarding(tracing) - how to enable tracing --> @@ -395,6 +408,12 @@ <string name="onboarding_tracing_dialog_button_negative">"Back"</string> <!-- XACT: onboarding(tracing) - illustraction description, header image --> <string name="onboarding_tracing_illustration_description">"Three people have activated exposure logging on their devices, which will log their encounters with each other."</string> + <!-- XHED: onboarding(tracing) - location explanation for bluetooth headline --> + <string name="onboarding_tracing_location_headline">"Allow location access"</string> + <!-- XTXT: onboarding(tracing) - location explanation for bluetooth body text --> + <string name="onboarding_tracing_location_body">"Your location cannot be accessed. Google and/or Android requires access to your device\'s location to use Bluetooth."</string> + <!-- XBUT: onboarding(tracing) - button enable tracing --> + <string name="onboarding_tracing_location_button">"Open Device Settings"</string> <!-- XACT: Onboarding (test) page title --> <string name="onboarding_test_accessibility_title">"Onboarding page 4 of 5: If you are diagnosed with COVID-19..."</string> <!-- XHED: onboarding(test) - about positive tests --> @@ -414,7 +433,7 @@ <!-- YTXT: onboarding(datashare) - explain test --> <string name="onboarding_notifications_body">"You can then self-isolate to protect others and find out where you can get tested."</string> <!-- XACT: onboarding(notifications) - illustraction description, header image --> - <string name="onboarding_notifications_illustration_description">"One woman receives a notification from her Corona-Warn-App."</string> + <string name="onboarding_notifications_illustration_description">"A woman receives a notification from her Corona-Warn-App."</string> <!-- #################################### Settings @@ -433,9 +452,11 @@ <!-- XTXT: settings(tracing) - explain text in settings overview under headline --> <string name="settings_tracing_body_description">"Allow COVID-19 random IDs to be generated and shared."</string> <!-- XTXT: settings(tracing) - shows status under header in home, active --> - <string name="settings_tracing_body_active">"Exposure logging active"</string> + <string name="settings_tracing_body_active">"Exposure Logging Active"</string> <!-- XTXT: settings(tracing) - shows status under header in home, inactive --> <string name="settings_tracing_body_inactive">"Exposure logging stopped"</string> + <!-- XTXT: settings(tracing) - shows status under header in home, inactive location --> + <string name="settings_tracing_body_inactive_location">"Location services disabled"</string> <!-- YTXT: settings(tracing) - explains tracings --> <string name="settings_tracing_body_text">"Exposure logging works by your device receiving, via Bluetooth, encrypted random IDs of other users and passing your random ID to their devices. This feature can be deactivated at any time. "<xliff:g id="line_break">"\n"</xliff:g><xliff:g id="line_break">"\n"</xliff:g>"Encrypted random IDs only pass information about date, duration, and proximity (calculated using signal strength) to other people. Personal data such as name, address, and location is never recorded. Individuals cannot be identified."</string> <!-- XTXT: settings(tracing) - status next to switch under title --> @@ -464,15 +485,19 @@ <plurals name="settings_tracing_status_body_active"> <item quantity="one">"Exposure logging has been active for one day.\nAn exposure check can only be reliable if exposure logging is permanently activated."</item> <item quantity="other">"Exposure logging has been active for %1$s days.\nAn exposure check can only be reliable if exposure logging is permanently activated."</item> + <item quantity="zero">"Exposure logging has been active for %1$s days.\nAn exposure check can only be reliable if exposure logging is permanently activated."</item> + <item quantity="two">"Exposure logging has been active for %1$s days.\nAn exposure check can only be reliable if exposure logging is permanently activated."</item> + <item quantity="few">"Exposure logging has been active for %1$s days.\nAn exposure check can only be reliable if exposure logging is permanently activated."</item> + <item quantity="many">"Exposure logging has been active for %1$s days.\nAn exposure check can only be reliable if exposure logging is permanently activated."</item> </plurals> <!-- XACT: settings(tracing) - describes illustration --> <string name="settings_tracing_illustration_description_active">"Three people have activated exposure logging on their devices, which will log their encounters with each other."</string> <!-- XACT: settings(tracing) - describes illustration --> - <string name="settings_tracing_illustration_description_inactive">"One person has deactivated exposure logging on their device, so an encounter with two other people is not logged."</string> + <string name="settings_tracing_illustration_description_inactive">"A person has deactivated exposure logging on their smartphone, so an encounter with two other persons is not logged."</string> <!-- XACT: settings(tracing) - describes illustration --> - <string name="settings_tracing_bluetooth_illustration_description_inactive">"One person has turned off Bluetooth on their device, so an encounter with two other people is not logged."</string> + <string name="settings_tracing_bluetooth_illustration_description_inactive">"A person has turned off Bluetooth on their smartphone, so an encounter with two other persons is not logged."</string> <!-- XACT: settings(tracing) - describes illustration --> - <string name="settings_tracing_connection_illustration_description_inactive">"One person has turned off the Internet connection on their device, so an encounter with two other people is not logged."</string> + <string name="settings_tracing_connection_illustration_description_inactive">"A person has turned off the Internet connection on their smartphone, so an encounter with two other persons is not logged."</string> <!-- XHED: settings(notification) - notification page title --> <string name="settings_notifications_title">"Notifications"</string> @@ -497,9 +522,9 @@ <!-- XBUT: settings(notification) - go to operating settings --> <string name="settings_notifications_button_open_settings">"Open Device Settings"</string> <!-- XACT: main (overview) - illustraction description, explanation image, displays notificatin status, active --> - <string name="settings_notifications_illustration_description_active">"One woman receives a notification from her Corona-Warn-App."</string> + <string name="settings_notifications_illustration_description_active">"A woman receives a notification from her Corona-Warn-App."</string> <!-- XACT: main (overview) - illustraction description, explanation image, displays notificatin status, inactive --> - <string name="settings_notifications_illustration_description_inactive">"One woman has deactivated notifications for her Corona-Warn-App."</string> + <string name="settings_notifications_illustration_description_inactive">"A woman has deactivated notifications for her Corona-Warn-App."</string> <!-- XBUT: settings - go to reset application --> <string name="settings_reset_title">"Reset App"</string> <!-- XTXT: settings(reset) - explains the user what do expect when he navigates to reset --> @@ -517,7 +542,7 @@ <!-- XBUT: settings(reset) - cancel reset and navigates the suer back to the settings --> <string name="settings_reset_button_negative">"Cancel"</string> <!-- XACT: main (overview) - illustraction description, explanation image --> - <string name="settings_reset_illustration_description">"One person is holding a device displaying a symbol indicating that the app is being reset."</string> + <string name="settings_reset_illustration_description">"A hand holds a smartphone displaying a symbol indicating that the app is being reset."</string> <!-- XHED: settings(reset) - dialog headline --> <string name="settings_reset_dialog_headline">"Reset App"</string> <!-- XTXT: settings(reset) - dialog content --> @@ -556,15 +581,15 @@ <!-- XHED: Subtitle for about information page --> <string name="information_about_headline">"Let\'s fight coronavirus together"</string> <!-- YTXT: Body text for about information page --> - <string name="information_about_body_emphasized">"The Robert Koch Institute (RKI) is Germany’s central body for the Federal States of Germany in the field of public health. The RKI is publishing the Corona-Warn-App for the federal government. The app represents the digital extension to the public health measures already introduced: social distancing, hygiene behavior, and face masks."</string> + <string name="information_about_body_emphasized">"Robert Koch Institute (RKI) is Germany’s federal public health body. The RKI publishes the Corona-Warn-App in the name of the Federal Government. The app represents the digital extension of public health measures already introduced: social distancing, hygiene, and face masks."</string> <!-- YTXT: Body text for about information page --> <string name="information_about_body">"Whoever uses the app helps to trace and break chains of infection. The app saves encounters with other people locally on your device. You are notified if you have encountered people who were later diagnosed with COVID-19. Your identity and privacy are always protected."</string> <!-- XACT: describes illustration --> - <string name="information_about_illustration_description">"A group of people are all using their devices in town."</string> + <string name="information_about_illustration_description">"A group of persons use their smartphones around town."</string> <!-- XHED: Page title for privacy information page, also menu item / button text --> <string name="information_privacy_title">"Data Privacy"</string> <!-- XACT: describes illustration --> - <string name="information_privacy_illustration_description">"One of the women is using the Corona-Warn-App on her device. The padlock on the shield is the symbol for encrypted data."</string> + <string name="information_privacy_illustration_description">"A woman uses the Corona-Warn-App on her smartphone. An icon showing a padlock on the background of a shield symbolizes encrypted data."</string> <!-- XTXT: Path to the full blown privacy html, to translate it exchange "_de" to "_en" and provide the corresponding html file --> <string name="information_privacy_html_path">"privacy_en.html"</string> <!-- XHED: Page title for terms of use information page, also menu item / button text --> @@ -572,7 +597,7 @@ <!-- XHED: Page headline for terms of use information page --> <string name="information_terms_headline">"Content"</string> <!-- XACT: describes illustration --> - <string name="information_terms_illustration_description">"One person is holding a device with a lot of text on the screen. Next to the text is a tick, which is the symbol for accepting the terms of use."</string> + <string name="information_terms_illustration_description">"A hand holds a smartphone displaying a large body of text on the screen. Next to the text is a tick mark symbolizing that the terms of use have been accepted."</string> <!-- XTXT: Path to the full blown terms html, to translate it exchange "_de" to "_en" and provide the corresponding html file --> <string name="information_terms_html_path">"terms_en.html"</string> <!-- XHED: Page title for technical contact and hotline information page, also menu item / button text --> @@ -594,7 +619,7 @@ <!-- YTXT: Body text for technical contact and hotline information page --> <string name="information_contact_body_other">"If you have any health-related questions, please contact your general practitioner or the hotline for the medical emergency service, telephone: 116 117."</string> <!-- XACT: describes illustration --> - <string name="information_contact_illustration_description">"One man is wearing a headset while he is telephoning."</string> + <string name="information_contact_illustration_description">"A man wears a headset while making a phone call."</string> <!-- XLNK: Menu item / hyper link / button text for navigation to FAQ website --> <string name="information_help_title">"FAQ"</string> <!-- XACT: accessibility hint --> @@ -602,7 +627,7 @@ <!-- XHED: Page title for technical information page, also menu item / button text --> <string name="information_technical_title">"Legal Notices"</string> <!-- XACT: describes illustration --> - <string name="information_technical_illustration_description">"One person is holding a device with a lot of text on the screen. Next to the text is a balance scale, which is the symbol for legal notices"</string> + <string name="information_technical_illustration_description">"A hand holds a smartphone displaying a large body of text on the screen. Next to the text is a balance scale that symbolizes legal notices."</string> <!-- XTXT: Path to the full blown legal html, to translate it exchange "_de" to "_en" and provide the corresponding html file --> <string name="information_technical_html_path">"technical_en.html"</string> <!-- XHED: Page title for legal information page, also menu item / button text --> @@ -622,7 +647,7 @@ <!-- YTXT: subtitle for legal information page, tax section --> <string name="information_legal_subtitle_taxid">"DE 165 893 430"</string> <!-- XACT: describes illustration --> - <string name="information_legal_illustration_description">"One person is holding a device with a lot of text on the screen. Next to the text is a section symbol representing the imprint."</string> + <string name="information_legal_illustration_description">"A hand holds a smartphone displaying a large body of text on the screen. Next to the text is a section symbol representing the imprint."</string> <!-- #################################### @@ -826,7 +851,7 @@ <!-- XBUT: other warning continue button --> <string name="submission_positive_other_warning_button">"Next"</string> <!-- XACT: other warning - illustration description, explanation image --> - <string name="submission_positive_other_illustration_description">"A device is transmitting an encrypted positive test diagnosis to the system."</string> + <string name="submission_positive_other_illustration_description">"A device transmits an encrypted positive test diagnosis to the system."</string> <!-- Submission Done --> @@ -846,7 +871,7 @@ <string-array name="submission_done_further_info_bullet_points"> <item>"Your quarantine period is usually 14 days. Please observe your symptoms and monitor how they develop."</item> <item>"You will be asked by your public health authority to create a list of people you have had contact with. This should include all people with whom you have had close contact with (less than 2 meters, face-to-face conversation) for over 15 minutes in the two days before you developed symptoms."</item> - <item>"Please think especially about the people who will not be notified directly by the app since they don\'t have a device, or haven\'t installed the app."</item> + <item>"Please particularly consider people who will not be notified directly by the app since they don\'t own a smartphone, or haven\'t installed the app."</item> <item>"Even when you no longer have any symptoms and you feel well again, you could still be infectious."</item> </string-array> <!-- XBUT: submission finished button --> @@ -936,7 +961,7 @@ <!-- YTXT: invalid status text --> <string name="test_result_card_status_invalid">"Evaluation is not possible"</string> <!-- YTXT: pending status text --> - <string name="test_result_card_status_pending">"Your result is not available"</string> + <string name="test_result_card_status_pending">"Your result is not yet available"</string> <!-- XHED: Title for further info of test result negative --> <string name="test_result_card_negative_further_info_title">"Other information:"</string> <!-- YTXT: Content for further info of test result negative --> @@ -968,13 +993,15 @@ <!-- XTXT: error dialog - detailed text if device is offline --> <string name="errors_no_network">"You are not connected to the Internet."</string> <!-- XTXT: error dialog - detailed text if device has not enough device space --> - <string name="errors_not_enough_device_storage">"You do not have enough memory available."</string> + <string name="errors_not_enough_device_storage">"You do not have sufficient free memory."</string> <!-- XTXT: error dialog - detailed text if there is error with Google API --> - <string name="errors_communication_with_api">"Error when communicating with Google API"</string> + <string name="errors_communication_with_api">"Error during communication with Google interface"</string> <!-- XTXT: error dialog - detailed text if there is an error during external navigation / external action --> <string name="errors_external_action">"You cannot perform this action. Please contact the hotline."</string> <!-- XTXT: error dialog - phone still needs Google Play Services or Google Mobile Services update --> - <string name="errors_google_update_needed">"Your Corona-Warn-App was installed correctly. Unfortunately, COVID-19 Exposure Notifications is currently not available on your device and you cannot use the Corona-Warn-App. Further information is available on our FAQ page: https://www.coronawarn.app/en/faq/ \n"</string> + <string name="errors_google_update_needed">"Your Corona-Warn-App is correctly installed, but the \"COVID-19 exposure notifications\" service is not available on your smartphone\'s operating system. This means that you cannot use the Corona-Warn-App. For further information, please see our FAQ page: https://www.coronawarn.app/en/faq/"</string> + <!-- XTXT: error dialog - either Google API Error (10) or reached request limit per day --> + <string name="errors_google_api_error">"The Corona-Warn-App is running correctly, but we cannot update your current risk status. Exposure logging remains active and is working correctly. For further information, please see our FAQ page: https://www.coronawarn.app/en/faq/ \n"</string> <!-- #################################### Generic Error Messages diff --git a/Corona-Warn-App/src/main/res/values-pl/strings.xml b/Corona-Warn-App/src/main/res/values-pl/strings.xml new file mode 100644 index 0000000000000000000000000000000000000000..3555428f3beb30528b6991e3f21075e65cedb2cd --- /dev/null +++ b/Corona-Warn-App/src/main/res/values-pl/strings.xml @@ -0,0 +1,1052 @@ +<?xml version="1.0" encoding="UTF-8"?><resources xmlns:tools="http://schemas.android.com/tools" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2" tools:ignore="MissingTranslation"> + + <!-- #################################### + Preference Keys + ###################################### + TODO: Check what is needed --> + + <!-- NOTR --> + <string name="preference_name"><xliff:g id="preference">"shared_preferences_cwa"</xliff:g></string> + <!-- NOTR --> + <string name="preference_onboarding_completed"><xliff:g id="preference">"preference_onboarding_completed"</xliff:g></string> + <!-- NOTR --> + <string name="preference_onboarding_completed_timestamp"><xliff:g id="preference">"preference_onboarding_completed_timestamp"</xliff:g></string> + <!-- NOTR --> + <string name="preference_reset_app"><xliff:g id="preference">"preference_reset_app"</xliff:g></string> + <!-- NOTR --> + <string name="preference_only_wifi"><xliff:g id="preference">"preference_only_wifi"</xliff:g></string> + <!-- NOTR --> + <string name="preference_tracing"><xliff:g id="preference">"preference_tracing"</xliff:g></string> + <!-- NOTR --> + <string name="preference_timestamp_diagnosis_keys_fetch"><xliff:g id="preference">"preference_timestamp_diagnosis_keys_fetch"</xliff:g></string> + <!-- NOTR --> + <string name="preference_timestamp_manual_diagnosis_keys_retrieval"><xliff:g id="preference">"preference_timestamp_manual_diagnosis_keys_retrieval"</xliff:g></string> + <!-- NOTR --> + <string name="preference_string_google_api_token"><xliff:g id="preference">"preference_m_string_google_api_token"</xliff:g></string> + <!-- NOTR --> + <string name="preference_notifications_enabled"><xliff:g id="preference">"preference_notifications_enabled"</xliff:g></string> + <!-- NOTR --> + <string name="preference_notifications_risk_enabled"><xliff:g id="preference">"preference_notifications_risk_enabled"</xliff:g></string> + <!-- NOTR --> + <string name="preference_notifications_test_enabled"><xliff:g id="preference">"preference_notifications_test_enabled"</xliff:g></string> + <!-- NOTR --> + <string name="preference_background_job_allowed"><xliff:g id="preference">"preference_background_job_enabled"</xliff:g></string> + <!-- NOTR --> + <string name="preference_mobile_data_allowed"><xliff:g id="preference">"preference_mobile_data_enabled"</xliff:g></string> + <!-- NOTR --> + <string name="preference_registration_token"><xliff:g id="preference">"preference_registration_token"</xliff:g></string> + <!-- NOTR --> + <string name="preference_device_pairing_successful_time"><xliff:g id="preference">"preference_device_pairing_successful_time"</xliff:g></string> + <!-- NOTR --> + <string name="preference_initial_tracing_activation_time"><xliff:g id="preference">"preference_initial_tracing_activation_time"</xliff:g></string> + <!-- NOTR --> + <string name="preference_initial_result_received_time"><xliff:g id="preference">"preference_initial_result_received_time"</xliff:g></string> + <!-- NOTR --> + <string name="preference_risk_level_score"><xliff:g id="preference">"preference_risk_level_score"</xliff:g></string> + <!-- NOTR --> + <string name="preference_risk_level_score_successful"><xliff:g id="preference">"preference_risk_level_score_successful"</xliff:g></string> + <!-- NOTR --> + <string name="preference_timestamp_risk_level_calculation"><xliff:g id="preference">"preference_timestamp_risk_level_calculation"</xliff:g></string> + <!-- NOTR --> + <string name="preference_test_guid"><xliff:g id="preference">"preference_test_guid"</xliff:g></string> + <!-- NOTR --> + <string name="preference_is_allowed_to_submit_diagnosis_keys"><xliff:g id="preference">"preference_is_allowed_to_submit_diagnosis_keys"</xliff:g></string> + <!-- NOTR --> + <string name="preference_auth_code"><xliff:g id="preference">"preference_auth_code"</xliff:g></string> + <!-- NOTR --> + <string name="preference_database_password"><xliff:g id="preference">"preference_database_password"</xliff:g></string> + <!-- NOTR --> + <string name="preference_total_non_active_tracing"><xliff:g id="preference">"preference_total_non_active_tracing"</xliff:g></string> + <!-- NOTR --> + <string name="preference_last_non_active_tracing_timestamp"><xliff:g id="preference">"preference_last_non_active_tracing_timestamp"</xliff:g></string> + <!-- NOTR --> + <string name="preference_number_successful_submissions"><xliff:g id="preference">"preference_number_successful_submissions"</xliff:g></string> + <!-- NOTR --> + <string name="preference_teletan"><xliff:g id="preference">"preference_teletan"</xliff:g></string> + <!-- NOTR --> + <string name="preference_last_three_hours_from_server"><xliff:g id="preference">"preference_last_three_hours_from_server"</xliff:g></string> + <!-- NOTR --> + <string name="preference_polling_test_result_started"><xliff:g id="preference">"preference_polling_test_result_started"</xliff:g></string> + <!-- NOTR --> + <string name="preference_test_result_notification"><xliff:g id="preference">"preference_test_result_notification"</xliff:g></string> + + <!-- #################################### + Generics + ###################################### --> + + <!-- XACT: back description for screen readers --> + <string name="accessibility_back">"Wstecz"</string> + <!-- XACT: next description for screen readers --> + <string name="accessibility_next">"Dalej"</string> + <!-- XACT: menu description for screen readers --> + <string name="accessibility_menu">"Menu"</string> + <!-- XACT: menu description for screen readers --> + <string name="accessibility_close">"Zamknij"</string> + <!-- XACT: menu description for screen readers --> + <string name="accessibility_logo">"Corona-Warn-App"</string> + <!-- XACT: button description for screen readers to be appended at the end of content without focusable subcontent that are explored by touch --> + <string name="accessibility_button">"Przycisk"</string> + + <!-- #################################### + Menu + ###################################### --> + + <!-- XMIT: application overview --> + <string name="menu_help">"PrzeglÄ…d"</string> + <!-- XMIT: application information --> + <string name="menu_information">"Informacje o aplikacji"</string> + <!-- XMIT: application settings --> + <string name="menu_settings">"Ustawienia"</string> + + <!-- #################################### + Notification + ###################################### --> + <!-- NOTR --> + <string name="notification_channel_id"><xliff:g id="notification_channel_id">"de.rki.coronawarnapp.notification.exposureNotificationChannelId"</xliff:g></string> + <!-- NOTR --> + <string name="notification_id"><xliff:g id="notification_id">"1"</xliff:g></string> + <!-- XTXT: Notification channel name for os settings --> + <string name="notification_name">"Corona-Warn-App"</string> + <!-- XTXT: Notification channel description for os settings --> + <string name="notification_description">"Powiadomienia od Corona-Warn-App"</string> + <!-- XHED: Notification title --> + <string name="notification_headline">"Corona-Warn-App"</string> + <!-- XTXT: Notification body --> + <string name="notification_body">"Masz nowe wiadomoÅ›ci od Corona-Warn-App."</string> + + <!-- #################################### + App Auto Update + ###################################### --> + + <!-- XHED: App Auto Update dialog title --> + <string name="update_dialog_title">"DostÄ™pna aktualizacja"</string> + <!-- XTXT: App Auto Update dialog message --> + <string name="update_dialog_message">"Aplikacji Corona-Warn-App możesz użyć ponownie dopiero po zainstalowaniu najnowszej aktualizacji."</string> + <!-- XBUT: App Auto Update button --> + <string name="update_dialog_button">"Aktualizuj"</string> + + <!-- #################################### + Risk Card + ###################################### --> + + <!-- XTXT: risk card - no contact yet --> + <string name="risk_card_body_contact">"Brak narażenia do tej pory"</string> + <!-- XTXT: risk card - number of contacts for one or more --> + <plurals name="risk_card_body_contact_value"> + <item quantity="one">"%1$s narażenie"</item> + <item quantity="other">"%1$s narażenia"</item> + <item quantity="zero">"%1$s narażeÅ„"</item> + <item quantity="two">"%1$s narażenia"</item> + <item quantity="few">"%1$s narażenia"</item> + <item quantity="many">"%1$s narażeÅ„"</item> + </plurals> + <!-- XTXT: risk card - tracing active for x out of 14 days --> + <string name="risk_card_body_saved_days">"%1$s aktywne(-ych) z 14 dni"</string> + <!-- XTXT; risk card - no update done yet --> + <string name="risk_card_body_not_yet_fetched">"Kontakty nie zostaÅ‚y jeszcze sprawdzone."</string> + <!-- XTXT: risk card - last successful update --> + <string name="risk_card_body_time_fetched">"Zaktualizowano: %1$s"</string> + <!-- XTXT: risk card - next update --> + <string name="risk_card_body_next_update">"Aktualizowane codziennie"</string> + <!-- XBUT: risk card - update risk --> + <string name="risk_card_button_update">"Aktualizuj"</string> + <!-- XBUT: risk card - update risk with time display --> + <string name="risk_card_button_cooldown">"Aktualizacja za %1$s"</string> + <!-- XBUT: risk card - activate tracing --> + <string name="risk_card_button_enable_tracing">"Aktywuj rejestrowanie narażenia"</string> + <!-- XTXT: risk card - tracing is off, user should activate to get an updated risk level --> + <string name="risk_card_body_tracing_off">"Aktywuj rejestrowanie narażenia, aby już dziÅ› ocenić swoje ryzyko."</string> + <!-- XHED: risk card - low risk headline --> + <string name="risk_card_low_risk_headline">"Niskie ryzyko"</string> + <!-- XHED: risk card - increased risk headline --> + <string name="risk_card_increased_risk_headline">"Podwyższone ryzyko"</string> + <!-- XTXT: risk card - increased risk days since last contact --> + <plurals name="risk_card_increased_risk_body_contact_last"> + <item quantity="one">"%1$s dzieÅ„ od ostatniego kontaktu"</item> + <item quantity="other">"%1$s dnia od ostatniego kontaktu"</item> + <item quantity="zero">"%1$s dni od ostatniego kontaktu"</item> + <item quantity="two">"%1$s dni od ostatniego kontaktu"</item> + <item quantity="few">"%1$s dni od ostatniego kontaktu"</item> + <item quantity="many">"%1$s dni od ostatniego kontaktu"</item> + </plurals> + <!-- XHED: risk card - unknown risk headline --> + <string name="risk_card_unknown_risk_headline">"Nieznane ryzyko"</string> + <!-- XTXT: risk card - tracing isn't active long enough, so a new risk level can't be calculated --> + <string name="risk_card_unknown_risk_body">"Ponieważ nie aktywowaÅ‚eÅ›(-aÅ›) rejestrowania narażenia na wystarczajÄ…co dÅ‚ugi czas, nie mogliÅ›my obliczyć Twojego ryzyka zakażenia."</string> + <!-- XHED: risk card - tracing stopped headline, due to no possible calculation --> + <string name="risk_card_no_calculation_possible_headline">"Rejestrowanie narażenia zatrzymane"</string> + <!-- XTXT: risk card - last successfully calculated risk level --> + <string name="risk_card_no_calculation_possible_body_saved_risk">"Ostatnie rejestrowanie narażenia:"<xliff:g id="line_break">"\n"</xliff:g>"%1$s"</string> + <!-- XHED: risk card - outdated risk headline, calculation isn't possible --> + <string name="risk_card_outdated_risk_headline">"Rejestrowanie narażenia jest niemożliwe"</string> + <!-- XTXT: risk card - outdated risk, calculation couldn't be updated in the last 24 hours --> + <string name="risk_card_outdated_risk_body">"Rejestrowanie narażenia nie mogÅ‚o zostać zaktualizowane przez okres dÅ‚uższy niż 24 godziny."</string> + <!-- XTXT: risk card - outdated risk manual, calculation couldn't be updated in the last 48 hours --> + <string name="risk_card_outdated_manual_risk_body">"Twój status ryzyka nie byÅ‚ aktualizowany od ponad 48 godzin. Zaktualizuj swój status ryzyka."</string> + <!-- XHED: risk card - loading headline, update is ongoing --> + <string name="risk_card_loading_headline">"Sprawdzanie w toku..."</string> + <!-- XTXT: risk card - loading, data is downloaded and will be checked, this can take several minutes --> + <string name="risk_card_loading_body">"Bieżące dane sÄ… pobierane i sprawdzane.\nMoże to potrwać kilka minut."</string> + + <!-- #################################### + Main + ###################################### --> + + <!-- XHED: main, FAQ --> + <string name="main_about_headline">"CzÄ™sto zadawane pytania"</string> + <!-- XTXT: main, explains faq on card --> + <string name="main_about_body">"Tutaj możesz znaleźć odpowiedzi na czÄ™sto zadawane pytania dotyczÄ…ce Corona-Warn-App. Zostaniesz przekierowany(-a) na zewnÄ™trznÄ… stronÄ™ internetowÄ…."</string> + <!-- XTXT: FAQ link, should be translated --> + <string name="main_about_link">"https://www.bundesregierung.de/corona-warn-app-faq-englisch"</string> + <!-- XACT: Opens external webpage --> + <string name="hint_external_webpage">"Tutaj możesz znaleźć odpowiedzi na czÄ™sto zadawane pytania dotyczÄ…ce Corona-Warn-App. Zostaniesz przekierowany(-a) na zewnÄ™trznÄ… stronÄ™ internetowÄ…."</string> + + <!-- #################################### + Main - Share + ###################################### --> + + <!-- XHED: Share app link page title --> + <string name="main_share_title">"UdostÄ™pnij Corona-Warn-App"</string> + <!-- XHED: Share app link page subtitle --> + <string name="main_share_headline">"Pokonajmy koronawirusa razem"</string> + <!-- YTXT: Share app link page body --> + <string name="main_share_body">"Im wiÄ™cej osób bÄ™dzie korzystać z aplikacji, tym szybciej bÄ™dziemy mogli przerwać Å‚aÅ„cuch zakażeÅ„. Zachęć rodzinÄ™ i znajomych do pobrania aplikacji."</string> + <!-- XBUT: Share app link page button --> + <string name="main_share_button">"WyÅ›lij link do pobrania"</string> + <!-- YMSG: Message when sharing is executed --> + <string name="main_share_message">"Wspólna walka z koronawirusem"<xliff:g id="line_break">"\n"</xliff:g>"Ja już biorÄ™ udziaÅ‚, a Ty?"<xliff:g id="line_break">"\n"</xliff:g><xliff:g id="link_play_store">"https://www.corona-warn-app.de"</xliff:g>"\n"<xliff:g id="line_break">"\n"</xliff:g></string> + <!-- XACT: main (share) - illustraction description, explanation image --> + <string name="main_share_illustration_description">"Mężczyzna udostÄ™pnia aplikacjÄ™ Corona-Warn czterem innym osobom."</string> + + <!-- #################################### + Main - Overview + ###################################### --> + + <!-- XHED: App overview page title --> + <string name="main_overview_title">"PrzeglÄ…d"</string> + <!-- XACT: main overview page title --> + <string name="main_overview_accessibility_title">"PrzeglÄ…d"</string> + <!-- XHED: App overview subtitle for tracing explanation--> + <string name="main_overview_subtitle_tracing">"Rejestrowanie narażenia"</string> + <!-- YTXT: App overview body text about tracing --> + <string name="main_overview_body_tracing">"Rejestrowanie narażenia jest jednÄ… z trzech głównych funkcji aplikacji. Po jej aktywacji rejestrowane sÄ… kontakty z urzÄ…dzeniami innych osób. Nie musisz robić nic wiÄ™cej."</string> + <!-- XHED: App overview subtitle for risk explanation --> + <string name="main_overview_subtitle_risk">"Ryzyko zakażenia"</string> + <!-- YTXT: App overview body text about risk levels --> + <string name="main_overview_body_risk">"JeÅ›li w ciÄ…gu ostatnich 14 dni miaÅ‚eÅ›(-aÅ›) kontakt z osobÄ…, u której zdiagnozowano COVID-19, aplikacja oblicza Twoje osobiste ryzyko zakażenia poprzez pomiar czasu trwania i bliskoÅ›ci kontaktu."</string> + <!-- XHED: App overview subtitle for risk level list --> + <string name="main_overview_subtitle_risk_levels">"Może wyÅ›wietlić siÄ™ nastÄ™pujÄ…cy status ryzyka:"</string> + <!-- XTXT: App overview increased risk level --> + <string name="main_overview_subtitle_increased_risk">"Podwyższone ryzyko"</string> + <!-- XTXT: App overview low risk level --> + <string name="main_overview_subtitle_low_risk">"Niskie ryzyko"</string> + <!-- XTXT: App overview unknown risk level --> + <string name="main_overview_subtitle_unknown_risk">"Nieznane ryzyko"</string> + <!-- XHED: App overview subtitle for test procedure explanation --> + <string name="main_overview_headline_test">"Powiadamianie innych użytkowników"</string> + <!-- YTXT: App overview body text about rest procedure --> + <string name="main_overview_body_test">"InnÄ… kluczowÄ… funkcjÄ… jest rejestracja testu i pobranie wyniku. W przypadku zdiagnozowania u Ciebie COVID-19 bÄ™dziesz mieć możliwość powiadomienia innych i przerwania Å‚aÅ„cucha zakażeÅ„."</string> + <!-- XHED: App overview headline for glossary --> + <string name="main_overview_headline_glossary">"Definicja terminów:"</string> + <!-- XHED: App overview subtitle for glossary key storage --> + <string name="main_overview_subtitle_glossary_tracing">"Dziennik narażeÅ„"</string> + <!-- YTXT: App overview body for glossary key storage --> + <string name="main_overview_body_glossary_tracing">"Lista otrzymanych i tymczasowych losowych identyfikatorów zapisanych tymczasowo w pamiÄ™ci masowej systemu operacyjnego. Lista ta jest odczytywana podczas sprawdzania narażeÅ„. Wszystkie losowe identyfikatory sÄ… automatycznie usuwane po 14 dniach."</string> + <!-- XHED: App overview subtitle for glossary risk calculation --> + <string name="main_overview_subtitle_glossary_calculation">"Sprawdzanie narażenia"</string> + <!-- YTXT: App overview body for glossary risk calculation --> + <string name="main_overview_body_glossary_calculation">"Dane dziennika narażeÅ„ sÄ… pobierane i synchronizowane ze zgÅ‚oszonymi zakażeniami innych użytkowników. Sprawdzanie narażeÅ„ jest wykonywane automatycznie mniej wiÄ™cej co dwie godziny."</string> + <!-- XHED: App overview subtitle for glossary contact --> + <string name="main_overview_subtitle_glossary_contact">"Narażenia"</string> + <!-- YTXT: App overview body for glossary contact --> + <string name="main_overview_body_glossary_contact">"Bliskie kontakty o dość dÅ‚ugim czasie trwania z osobami, u których zdiagnozowano COVID-19."</string> + <!-- XHED: App overview subtitle for glossary notifications --> + <string name="main_overview_subtitle_glossary_notification">"Powiadomienie o narażeniu"</string> + <!-- YTXT: App overview body for glossary notifications --> + <string name="main_overview_body_glossary_notification">"WyÅ›wietlanie narażeÅ„ w Corona-Warn-App."</string> + <!-- XHED: App overview subtitle for glossary keys --> + <string name="main_overview_subtitle_glossary_keys">"Losowe identyfikatory"</string> + <!-- YTXT: App overview body for glossary keys --> + <string name="main_overview_body_glossary_keys">"Identyfikatory losowe sÄ… kombinacjÄ… cyfr i liter generowanych losowo. SÄ… one wymieniane pomiÄ™dzy urzÄ…dzeniami znajdujÄ…cymi siÄ™ w bliskiej odlegÅ‚oÅ›ci od siebie. Identyfikatorów losowych nie można przypisać do konkretnej osoby. SÄ… one automatycznie usuwane po 14 dniach. Osoby, u których zdiagnozowano COVID-19, mogÄ… zdecydować siÄ™ na udostÄ™pnienie swoich losowych identyfikatorów z ostatnich 14 dni innym użytkownikom aplikacji."</string> + <!-- XACT: main (overview) - illustraction description, explanation image --> + <string name="main_overview_illustration_description">"Smartfon wyÅ›wietla różne treÅ›ci oznaczone numerami od 1 do 3."</string> + <!-- XACT: App main page title --> + <string name="main_title">"Strona główna Corona-Warn-App"</string> + + <!-- #################################### + Risk Details + ###################################### --> + + <!-- XHED: risk details - page title, in toolbar --> + <string name="risk_details_title">"Twój status ryzyka"</string> + <!-- XHED: risk details - headline, how a user should act --> + <string name="risk_details_headline_behavior">"Wytyczne"</string> + <!-- XHED: risk details - multiline headline, bold, how to act correct --> + <string name="risk_details_subtitle_behavior">"Zalecenia"</string> + <!-- XMSG: risk details - go/stay home, something like a bullet point --> + <string name="risk_details_behavior_body_stay_home">"JeÅ›li to możliwe, idź do domu i w nim pozostaÅ„."</string> + <!-- XMSG: risk details - get in touch with the corresponding people, something like a bullet point --> + <string name="risk_details_behavior_body_contact_doctor">"W przypadku pytaÅ„ dotyczÄ…cych objawów, możliwoÅ›ci wykonania testu lub samoizolacji skontaktuj siÄ™ z jednym z poniższych miejsc:"</string> + <!-- XMSG: risk details - wash your hands, something like a bullet point --> + <string name="risk_details_behavior_body_wash_hands">"Regularnie myj rÄ™ce."</string> + <!-- XMSG: risk details - wear a face mask, something like a bullet point --> + <string name="risk_details_behavior_body_wear_mask">"Załóż maseczkÄ™ na twarz, majÄ…c kontakt z innymi osobami."</string> + <!-- XMSG: risk details - stay 1,5 away, something like a bullet point --> + <string name="risk_details_behavior_body_stay_away">"Zachowuj odlegÅ‚ość co najmniej 1,5 metra od innych osób."</string> + <!-- XMSG: risk details - cough/sneeze, something like a bullet point --> + <string name="risk_details_behavior_body_cough_sneeze">"Kichaj i kaszl w Å‚okieć lub chusteczkÄ™."</string> + <!-- XMSG: risk details - contact your doctor, bullet point --> + <string name="risk_details_behavior_increased_body_1">"Twój lekarz rodzinny"</string> + <!-- XMSG: risk details - panel doctor on-call service, bullet point --> + <string name="risk_details_behavior_increased_body_2">"Pogotowie ratunkowe pod numerem telefonu 116117"</string> + <!-- XMSG: risk details - public health department, bullet point --> + <string name="risk_details_behavior_increased_body_3">"Organ ds. zdrowia publicznego"</string> + <!-- XHED: risk details - infection risk headline, below behaviors --> + <string name="risk_details_headline_infection_risk">"Ryzyko zakażenia"</string> + <!-- XHED: risk details - how your risk level was calculated, below behaviors --> + <string name="risk_details_subtitle_infection_risk_past">"Sposób, w jaki obliczono Twoje ryzyko"</string> + <!-- XHED: risk details - how your risk level will be calculated, below behaviors --> + <string name="risk_details_subtitle_infection_risk">"Sposób, w jaki obliczane jest Twoje ryzyko"</string> + <!-- XMSG: risk details - risk couldn't be calculated tracing wasn't enabled long enough, below behaviors --> + <string name="risk_details_information_body_unknown_risk">"Ponieważ nie aktywowaÅ‚eÅ›(-aÅ›) rejestrowania narażenia na wystarczajÄ…co dÅ‚ugi czas, nie mogliÅ›my obliczyć Twojego ryzyka zakażenia."</string> + <!-- XMSG: risk details - risk calculation wasn't possible for 24h, below behaviors --> + <string name="risk_details_information_body_outdated_risk">"Rejestrowanie narażenia nie mogÅ‚o zostać zaktualizowane przez okres dÅ‚uższy niż 24 godziny."</string> + <!-- YTXT: risk details - low risk explanation text --> + <string name="risk_details_information_body_low_risk">"Masz niskie ryzyko zakażenia, ponieważ nie zarejestrowano narażenia na kontakt z osobami, u których później zdiagnozowano COVID-19, lub ponieważ Twoje kontakty trwaÅ‚y krótko przy zachowaniu odpowiednio dużej odlegÅ‚oÅ›ci."</string> + <!-- YTXT: risk details - increased risk explanation text with variable for day(s) since last contact --> + <plurals name="risk_details_information_body_increased_risk"> + <item quantity="one">"Masz podwyższone ryzyko zakażenia, ponieważ %1$s dzieÅ„ temu byÅ‚eÅ›(-aÅ›) narażony na dÅ‚uższy, bliski kontakt z co najmniej jednÄ… osobÄ…, u której zdiagnozowano COVID-19."</item> + <item quantity="other">"Masz podwyższone ryzyko zakażenia, ponieważ %1$s dnia temu byÅ‚eÅ›(-aÅ›) narażony na dÅ‚uższy, bliski kontakt z co najmniej jednÄ… osobÄ…, u której zdiagnozowano COVID-19."</item> + <item quantity="zero">"Masz podwyższone ryzyko zakażenia, ponieważ %1$s dni temu byÅ‚eÅ›(-aÅ›) narażony na dÅ‚uższy, bliski kontakt z co najmniej jednÄ… osobÄ…, u której zdiagnozowano COVID-19."</item> + <item quantity="two">"Masz podwyższone ryzyko zakażenia, ponieważ %1$s dni temu byÅ‚eÅ›(-aÅ›) narażony na dÅ‚uższy, bliski kontakt z co najmniej jednÄ… osobÄ…, u której zdiagnozowano COVID-19."</item> + <item quantity="few">"Masz podwyższone ryzyko zakażenia, ponieważ %1$s dni temu byÅ‚eÅ›(-aÅ›) narażony na dÅ‚uższy, bliski kontakt z co najmniej jednÄ… osobÄ…, u której zdiagnozowano COVID-19."</item> + <item quantity="many">"Masz podwyższone ryzyko zakażenia, ponieważ %1$s dni temu byÅ‚eÅ›(-aÅ›) narażony na dÅ‚uższy, bliski kontakt z co najmniej jednÄ… osobÄ…, u której zdiagnozowano COVID-19."</item> + </plurals> + <!-- YTXT: risk details - risk calculation explanation --> + <string name="risk_details_information_body_notice">"Ryzyko zakażenia jest obliczane na podstawie danych rejestrowania narażenia (czas trwania i bliskość kontaktu) lokalnie w urzÄ…dzeniu. Twoje ryzyko zakażenia nie jest widoczne dla nikogo ani nikomu przekazywane."</string> + <!-- NOTR --> + <string name="risk_details_button_update">@string/risk_card_button_update</string> + <!-- NOTR --> + <string name="risk_details_button_enable_tracing">@string/risk_card_button_enable_tracing</string> + <!-- XACT: risk details page title --> + <string name="risk_details_accessibility_title">"Twój status ryzyka"</string> + + <!-- #################################### + Onboarding + ###################################### --> + + <!-- XBUT: onboarding - forward and deny --> + <string name="onboarding_button_disable">"Nie aktywuj"</string> + <!-- XBUT: onboarding - forward and allow --> + <string name="onboarding_button_enable">"Aktywuj"</string> + <!-- XBUT: onboarding - back and cancel --> + <string name="onboarding_button_cancel">"Anuluj"</string> + <!-- XBUT: onboarding - next --> + <string name="onboarding_button_next">"Dalej"</string> + <!-- XBUT: onboarding - start --> + <string name="onboarding_button_start">"Zaczynamy"</string> + <!-- XTXT: onboarding - back description for screen reader --> + <string name="onboarding_button_back_description">"Wstecz"</string> + <!-- XACT: Onboarding (together) page title --> + <string name="onboarding_onboarding_accessibility_title">"Strona wprowadzenia 1 z 5: Wspólna walka z koronawirusem"</string> + <!-- XHED: onboarding(together) - fight corona --> + <string name="onboarding_headline">"Pokonajmy koronawirusa razem"</string> + <!-- XHED: onboarding(together) - two/three line headline under an illustration --> + <string name="onboarding_subtitle">"WiÄ™ksza ochrona dla Ciebie i dla nas wszystkich. KorzystajÄ…c z aplikacji Corona-Warn-App, możemy znacznie szybciej przerwać Å‚aÅ„cuchy zakażeÅ„."</string> + <!-- YTXT: onboarding(together) - inform about the app --> + <string name="onboarding_body">"ZmieÅ„ swoje urzÄ…dzenie w system ostrzegania przed koronawirusem. Zapoznaj siÄ™ ze swoim statusem ryzyka i dowiedz siÄ™, czy miaÅ‚eÅ›(-aÅ›) bliski kontakt z osobÄ…, u której w ciÄ…gu ostatnich 14 dni zdiagnozowano COVID-19."</string> + <!-- YTXT: onboarding(together) - explain application --> + <string name="onboarding_body_emphasized">"Aplikacja rejestruje kontakty miÄ™dzy osobami poprzez wymianÄ™ zaszyfrowanych, losowych identyfikatorów miÄ™dzy ich urzÄ…dzeniami bez uzyskiwania dostÄ™pu do danych osobowych."</string> + <!-- XACT: onboarding(together) - illustraction description, header image --> + <string name="onboarding_illustration_description">"Grupa osób korzysta ze smartfonów na mieÅ›cie."</string> + <!-- XACT: Onboarding (privacy) page title --> + <string name="onboarding_privacy_accessibility_title">"Strona wprowadzenia 2 z 5: Prywatność danych. W dalszej części znajduje siÄ™ opis. Aby kontynuować w dowolnym momencie, użyj przycisku w dolnej części ekranu."</string> + <!-- XHED: onboarding(privacy) - title --> + <string name="onboarding_privacy_headline">"Prywatność danych"</string> + + <!-- XACT: onboarding(privacy) - illustraction description, header image --> + <string name="onboarding_privacy_illustration_description">"Kobieta używa Corona-Warn-App na swoim smartfonie. Ikona przedstawiajÄ…ca kłódkÄ™ na tle tarczy symbolizuje zaszyfrowane dane."</string> + <!-- XACT: Onboarding (tracing) page title --> + <string name="onboarding_tracing_accessibility_title">"Strona wprowadzenia 3 z 5: Jak wÅ‚Ä…czyć rejestrowanie narażenia"</string> + <!-- XHED: onboarding(tracing) - how to enable tracing --> + <string name="onboarding_tracing_headline">"Jak wÅ‚Ä…czyć rejestrowanie narażenia"</string> + <!-- XHED: onboarding(tracing) - two/three line headline under an illustration --> + <string name="onboarding_tracing_subtitle">"Aby ustalić wystÄ™powanie ryzyka zakażenia, musisz aktywować funkcjÄ™ rejestrowania narażenia."</string> + <!-- YTXT: onboarding(tracing) - explain tracing --> + <string name="onboarding_tracing_body">"DziaÅ‚anie funkcji rejestrowania narażenia polega na odbieraniu przez Twoje urzÄ…dzenie za pomocÄ… Bluetooth zaszyfrowanych, losowych identyfikatorów innych użytkowników i przekazywaniu Twoich wÅ‚asnych, losowych identyfikatorów do ich urzÄ…dzeÅ„. FunkcjÄ™ tÄ™ można wyÅ‚Ä…czyć w dowolnym momencie."</string> + <!-- YTXT: onboarding(tracing) - explain tracing --> + <string name="onboarding_tracing_body_emphasized">"Zaszyfrowane losowe identyfikatory przekazujÄ… innym osobom jedynie informacje o dacie, czasie trwania i bliskoÅ›ci (przy wykorzystaniu mocy sygnaÅ‚u). Dane osobowe, takie jak nazwisko, adres, lokalizacja, nie sÄ… nigdy rejestrowane. Ustalenie tożsamoÅ›ci osób nie jest możliwe."</string> + <!-- XHED: onboarding(tracing) - headline for consent information --> + <string name="onboarding_tracing_headline_consent">"OÅ›wiadczenia o wyrażeniu zgody"</string> + <!-- YTXT: onboarding(tracing) - body for consent information --> + <string name="onboarding_tracing_body_consent">"To find out whether you have been in contact with an infected person and whether there is a risk that you yourself have been infected, you need to enable the App’s exposure logging feature. By tapping on the “Enable†button, you agree to the enabling of the App’s exposure logging feature and the associated data processing."<xliff:g id="line_break">"\n"</xliff:g><xliff:g id="line_break">"\n"</xliff:g>"In order to use the App’s exposure logging feature, you will have to enable the COVID-19 Exposure Logging functionality provided by Google on your smartphone and grant the Corona-Warn-App permission to use this."<xliff:g id="line_break">"\n"</xliff:g><xliff:g id="line_break">"\n"</xliff:g>"When exposure logging is enabled, your smartphone continuously generates and transmits random IDs via Bluetooth, which other Android or Apple smartphones in your vicinity can receive if exposure logging is also enabled on them. Your smartphone, in turn, receives the random IDs of the other smartphones. Your own random IDs and those received from other smartphones are recorded in the exposure log and stored there for 14 days."<xliff:g id="line_break">"\n"</xliff:g><xliff:g id="line_break">"\n"</xliff:g>"To identify your risk of infection, the App loads a list – several times a day or on request – of the random IDs of all users who have told the App that they have been infected with the coronavirus. This list is then compared with the random IDs stored in the exposure log. If the App detects that you may have been in contact with an infected user, it will inform you of this and tell you that there is a risk that you are also infected. In this case, the App is also given access to other data stored in your smartphone’s exposure log (date, duration and Bluetooth signal strength of the contact)."<xliff:g id="line_break">"\n"</xliff:g><xliff:g id="line_break">"\n"</xliff:g>"The Bluetooth signal strength is used to derive the physical distance (the stronger the signal, the smaller the distance). The App then analyses this information in order to assess your likelihood of having been infected with the coronavirus and to give you recommendations for what to do next. This analysis is only performed locally on your smartphone. Apart from you, nobody (not even the RKI) will know whether you have been in contact with an infected person and what risk has been identified for you."<xliff:g id="line_break">"\n"</xliff:g><xliff:g id="line_break">"\n"</xliff:g>"To withdraw your consent to the exposure logging feature, you can disable the feature using the toggle switch in the App or delete the App. If you decide to use the exposure logging feature again, you can toggle the feature back on or reinstall the App. If you disable the exposure logging feature, the App will no longer check whether you have been in contact with an infected user. If you also wish to stop your device sending and receiving random IDs, you will need to disable COVID-19 Exposure Logging in your smartphone settings. Please note that your own random IDs and those received from other smartphones which are stored in the exposure log will not be deleted in the App. You can only permanently delete the data stored in the exposure log in your smartphone settings."<xliff:g id="line_break">"\n"</xliff:g><xliff:g id="line_break">"\n"</xliff:g>"The App’s privacy notice (including an explanation of the data processing carried out for the exposure logging feature) can be found in the menu under “Data Privacy Informationâ€."</string> + <!-- XBUT: onboarding(tracing) - button enable tracing --> + <string name="onboarding_tracing_button_next">"Aktywuj rejestrowanie narażenia"</string> + <!-- XTXT: onboarding(tracing) - dialog about tracing permission declined --> + <string name="onboarding_tracing_dialog_headline">"Autoryzacja"</string> + <!-- YMSI: onboarding(tracing) - dialog about tracing --> + <string name="onboarding_tracing_dialog_body">"Oznacza to, że Corona-Warn-App nie może wysyÅ‚ać ani odbierać powiadomieÅ„ o Twoim statusie ryzyka COVID-19. Możesz dezaktywować tÄ™ funkcjÄ™ w dowolnym momencie."</string> + <!-- XBUT: onboarding(tracing) - positive button (right) --> + <string name="onboarding_tracing_dialog_button_positive">"Nie aktywuj"</string> + <!-- XBUT: onboarding(tracing) - negative button (right) --> + <string name="onboarding_tracing_dialog_button_negative">"Wstecz"</string> + <!-- XACT: onboarding(tracing) - illustraction description, header image --> + <string name="onboarding_tracing_illustration_description">"Trzy osoby aktywowaÅ‚y rejestrowanie narażenia na swoich urzÄ…dzeniach, które bÄ™dÄ… rejestrować ich wzajemne kontakty."</string> + <!-- XHED: onboarding(tracing) - location explanation for bluetooth headline --> + <string name="onboarding_tracing_location_headline">"Zezwól na dostÄ™p do lokalizacji"</string> + <!-- XTXT: onboarding(tracing) - location explanation for bluetooth body text --> + <string name="onboarding_tracing_location_body">"Nie można uzyskać dostÄ™pu do Twojej lokalizacji. Google i/lub Android wymaga dostÄ™pu do lokalizacji Twojego urzÄ…dzenia w celu użycia Bluetooth."</string> + <!-- XBUT: onboarding(tracing) - button enable tracing --> + <string name="onboarding_tracing_location_button">"Otwórz ustawienia urzÄ…dzenia"</string> + <!-- XACT: Onboarding (test) page title --> + <string name="onboarding_test_accessibility_title">"Strona wprowadzenia 4 z 5: JeÅ›li zdiagnozowano u Ciebie COVID-19..."</string> + <!-- XHED: onboarding(test) - about positive tests --> + <string name="onboarding_test_headline">"JeÅ›li zdiagnozowano u Ciebie COVID-19..."</string> + <!-- XHED: onboarding(test) - two/three line headline under an illustration --> + <string name="onboarding_test_subtitle">"… zgÅ‚oÅ› ten fakt w Corona-Warn-App. UdostÄ™pnianie wyników testu jest dobrowolne i bezpieczne. Zrób to ze wzglÄ™du na zdrowie innych osób."</string> + <!-- YTXT: onboarding(test) - explain test --> + <string name="onboarding_test_body">"Twoje powiadomienie jest szyfrowane w bezpieczny sposób i przetwarzane na bezpiecznym serwerze. Osoby, których zaszyfrowane losowe identyfikatory zostaÅ‚y zgromadzone przez Twoje urzÄ…dzenie, otrzymajÄ… teraz ostrzeżenie wraz z informacjÄ… na temat dalszych kroków postÄ™powania."</string> + <!-- XACT: onboarding(test) - illustraction description, header image --> + <string name="onboarding_test_illustration_description">"Zaszyfrowana diagnoza zakażenia jest przesyÅ‚ana do systemu, który bÄ™dzie teraz ostrzegaÅ‚ innych użytkowników."</string> + <!-- XACT: Onboarding (datashare) page title --> + <string name="onboarding_notifications_accessibility_title">"Strona wprowadzenia 5 z 5: Otrzymuj ostrzeżenia i ustal ryzyko"</string> + <!-- XHED: onboarding(datashare) - about positive tests --> + <string name="onboarding_notifications_headline">"Otrzymuj ostrzeżenia i ustal ryzyko"</string> + <!-- XHED: onboarding(datashare) - two/three line headline under an illustration --> + <string name="onboarding_notifications_subtitle">"Aplikacja może automatycznie powiadamiać CiÄ™ o statusie ryzyka i ostrzegać o nowych zakażeniach osób, z którymi miaÅ‚eÅ›(-aÅ›) kontakt. Zezwól aplikacji teraz, aby CiÄ™ powiadamiaÅ‚a."</string> + <!-- YTXT: onboarding(datashare) - explain test --> + <string name="onboarding_notifications_body">"Możesz wówczas odizolować siÄ™, aby chronić innych, i dowiedzieć siÄ™, gdzie wykonać test."</string> + <!-- XACT: onboarding(notifications) - illustraction description, header image --> + <string name="onboarding_notifications_illustration_description">"Kobieta otrzymuje powiadomienie od swojej aplikacji Corona-Warn-App."</string> + + <!-- #################################### + Settings + ###################################### --> + + <!-- XHED: settings - settings overview page title --> + <string name="settings_title">"Ustawienia"</string> + <!-- XTXT: settings - on, like a label next to a setting --> + <string name="settings_on">"WÅ‚."</string> + <!-- XTXT: settings - off, like a label next to a setting --> + <string name="settings_off">"WyÅ‚."</string> + <!-- XHED: settings(tracing) - page title --> + <string name="settings_tracing_title">"Rejestrowanie narażenia"</string> + <!-- XHED: settings(tracing) - headline bellow illustration --> + <string name="settings_tracing_headline">"Sposób dziaÅ‚ania funkcji rejestrowania narażenia"</string> + <!-- XTXT: settings(tracing) - explain text in settings overview under headline --> + <string name="settings_tracing_body_description">"Zezwól na generowanie i udostÄ™pnianie losowych identyfikatorów COVID-19."</string> + <!-- XTXT: settings(tracing) - shows status under header in home, active --> + <string name="settings_tracing_body_active">"Rejestrowanie narażenia aktywne"</string> + <!-- XTXT: settings(tracing) - shows status under header in home, inactive --> + <string name="settings_tracing_body_inactive">"Rejestrowanie narażenia zatrzymane"</string> + <!-- YTXT: settings(tracing) - explains tracings --> + <string name="settings_tracing_body_text">"DziaÅ‚anie funkcji rejestrowania narażenia polega na odbieraniu przez Twoje urzÄ…dzenie za pomocÄ… Bluetooth zaszyfrowanych, losowych identyfikatorów innych użytkowników i przekazywaniu Twoich losowych identyfikatorów do ich urzÄ…dzeÅ„. FunkcjÄ™ tÄ™ można wyÅ‚Ä…czyć w dowolnym momencie. "<xliff:g id="line_break">"\n"</xliff:g><xliff:g id="line_break">"\n"</xliff:g>"Zaszyfrowane losowe identyfikatory przekazujÄ… innym osobom jedynie informacje o dacie, czasie trwania i bliskoÅ›ci (przy wykorzystaniu mocy sygnaÅ‚u). Dane osobowe, takie jak nazwisko, adres, lokalizacja, nie sÄ… nigdy rejestrowane. Ustalenie tożsamoÅ›ci osób nie jest możliwe."</string> + <!-- XTXT: settings(tracing) - status next to switch under title --> + <string name="settings_tracing_status_active">"Aktywne"</string> + <!-- XTXT: settings(tracing) - status next to switch under title --> + <string name="settings_tracing_status_inactive">"Zatrzymane"</string> + <!-- XTXT: settings(tracing) - status next to switch under title --> + <string name="settings_tracing_status_restricted">"Ograniczone"</string> + <!-- XTXT: settings(tracing) - shows status under header in home, no internet --> + <string name="settings_tracing_body_connection_inactive">"Brak poÅ‚Ä…czenia z Internetem"</string> + <!-- XTXT: settings(tracing) - shows status under header in home, no bluetooth --> + <string name="settings_tracing_body_bluetooth_inactive">"Bluetooth wyÅ‚Ä…czony"</string> + <!--XHED : settings(tracing) - headline on card about the current status and what to do --> + <string name="settings_tracing_status_bluetooth_headline">"WÅ‚Ä…cz Bluetooth"</string> + <!-- XTXT: settings(tracing) - explains user what to do on card if bluetooth is disabled --> + <string name="settings_tracing_status_bluetooth_body">"Należy wÅ‚Ä…czyć Bluetooth, aby funkcja rejestrowania narażenia mogÅ‚a rejestrować kontakty. WÅ‚Ä…cz Bluetooth w ustawieniach swojego urzÄ…dzenia."</string> + <!-- XBUT: settings(tracing) - go to operating system settings button on card --> + <string name="settings_tracing_status_bluetooth_button">"Otwórz ustawienia urzÄ…dzenia"</string> + <!--XHED : settings(tracing) - headline on card about the current status and what to do --> + <string name="settings_tracing_status_connection_headline">"Otwórz poÅ‚Ä…czenie z Internetem"</string> + <!-- XTXT: settings(tracing) - explains user what to do on card if connection is disabled --> + <string name="settings_tracing_status_connection_body">"Rejestrowanie narażenia wymaga poÅ‚Ä…czenia z Internetem w celu obliczenia narażeÅ„. WÅ‚Ä…cz WIFI lub dane mobilne w ustawieniach swojego urzÄ…dzenia."</string> + <!-- XBUT: settings(tracing) - go to operating system settings button on card --> + <string name="settings_tracing_status_connection_button">"Otwórz ustawienia urzÄ…dzenia"</string> + <!-- XTXT: settings(tracing) - explains the circle progress indicator to the right with the current value --> + <plurals name="settings_tracing_status_body_active"> + <item quantity="one">"Rejestrowanie narażenia jest aktywne od jednego dnia.\nSprawdzanie narażeÅ„ jest wiarygodne tylko wtedy, gdy rejestrowanie narażenia jest aktywowane na staÅ‚e."</item> + <item quantity="other">"Rejestrowanie narażenia jest aktywne od %1$s dnia.\nSprawdzanie narażeÅ„ jest wiarygodne tylko wtedy, gdy rejestracja narażenia jest aktywowana na staÅ‚e."</item> + <item quantity="zero">"Rejestrowanie narażenia jest aktywne od %1$s dni.\nSprawdzanie narażeÅ„ jest wiarygodne tylko wtedy, gdy rejestrowanie narażenia jest aktywowane na staÅ‚e."</item> + <item quantity="two">"Rejestrowanie narażenia jest aktywne od %1$s dni.\nSprawdzanie narażeÅ„ jest wiarygodne tylko wtedy, gdy rejestracja narażenia jest aktywowana na staÅ‚e."</item> + <item quantity="few">"Rejestrowanie narażenia jest aktywne od %1$s dni.\nSprawdzanie narażeÅ„ jest wiarygodne tylko wtedy, gdy rejestracja narażenia jest aktywowana na staÅ‚e."</item> + <item quantity="many">"Rejestrowanie narażenia jest aktywne od %1$s dni.\nSprawdzanie narażeÅ„ jest wiarygodne tylko wtedy, gdy rejestracja narażenia jest aktywowana na staÅ‚e."</item> + </plurals> + <!-- XACT: settings(tracing) - describes illustration --> + <string name="settings_tracing_illustration_description_active">"Trzy osoby aktywowaÅ‚y rejestrowanie narażenia na swoich urzÄ…dzeniach, które bÄ™dÄ… rejestrować ich wzajemne kontakty."</string> + <!-- XACT: settings(tracing) - describes illustration --> + <string name="settings_tracing_illustration_description_inactive">"Jedna osoba dezaktywowaÅ‚a logowanie narażenia na swoim smartfonie, wiÄ™c kontakt z dwiema pozostaÅ‚ymi osobami nie jest rejestrowany."</string> + <!-- XACT: settings(tracing) - describes illustration --> + <string name="settings_tracing_bluetooth_illustration_description_inactive">"Jedna osoba wyÅ‚Ä…czyÅ‚a Bluetooth na swoim smartfonie, wiÄ™c kontakt z dwiema pozostaÅ‚ymi osobami nie jest rejestrowany."</string> + <!-- XACT: settings(tracing) - describes illustration --> + <string name="settings_tracing_connection_illustration_description_inactive">"Jedna osoba wyÅ‚Ä…czyÅ‚a poÅ‚Ä…czenie z Internetem na swoim smartfonie, wiÄ™c kontakt z dwiema pozostaÅ‚ymi osobami nie jest rejestrowany."</string> + + <!-- XHED: settings(notification) - notification page title --> + <string name="settings_notifications_title">"Powiadomienia"</string> + <!-- XHED: settings(notification) - multiline headline below illustration, active --> + <string name="settings_notifications_headline_active">"Czy chcesz aktywować powiadomienia o statusie ryzyka COVID-19?"</string> + <!-- XHED: settings(notification) - multiline headline below illustration, inactive --> + <string name="settings_notifications_headline_inactive">"Powiadomienia sÄ… dezaktywowane"</string> + <!-- XTXT: settings(notification) - text in row on settings overview --> + <string name="settings_notifications_body_description">"Zezwól na automatyczne powiadomienia o statusie ryzyka COVID-19"</string> + <!-- YTXT: settings(notification) - description text when it notifications are enabled --> + <string name="settings_notifications_body_active">"OkreÅ›l obszary, dla których chcesz nadal otrzymywać powiadomienia."</string> + <!-- XTXT: settings(notification) - explains what the user has to do to activate settings --> + <string name="settings_notifications_body_inactive">"Aby aktywować powiadomienia, musisz zezwolić na powiadomienia dla aplikacji Corona-Warn-App w ustawieniach swojego urzÄ…dzenia."</string> + <!-- XHED: settings(notification) - card headline --> + <string name="settings_notifications_headline_card">"Aktywuj powiadomienia"</string> + <!-- XHED: settings - notification headline on settings overview --> + <string name="settings_notifications_subtitle_notification">"Powiadomienia"</string> + <!-- XTXT: settings(notification) - next to a switch --> + <string name="settings_notifications_subtitle_update_risk">"Twoje ryzyko zakażenia zmieniÅ‚o siÄ™"</string> + <!-- XTXT: settings(notification) - next to a switch --> + <string name="settings_notifications_subtitle_update_test">"Status Twojego testu na COVID-19"</string> + <!-- XBUT: settings(notification) - go to operating settings --> + <string name="settings_notifications_button_open_settings">"Otwórz ustawienia urzÄ…dzenia"</string> + <!-- XACT: main (overview) - illustraction description, explanation image, displays notificatin status, active --> + <string name="settings_notifications_illustration_description_active">"Kobieta otrzymuje powiadomienie od swojej aplikacji Corona-Warn-App."</string> + <!-- XACT: main (overview) - illustraction description, explanation image, displays notificatin status, inactive --> + <string name="settings_notifications_illustration_description_inactive">"Kobieta dezaktywowaÅ‚a powiadomienia dla swojej aplikacji Corona-Warn-App."</string> + <!-- XBUT: settings - go to reset application --> + <string name="settings_reset_title">"Resetuj aplikacjÄ™"</string> + <!-- XTXT: settings(reset) - explains the user what do expect when he navigates to reset --> + <string name="settings_reset_body_description">"UsuÅ„ wszystkie swoje dane z aplikacji."</string> + <!-- XHED: settings(reset) - multiline headline below illustration --> + <string name="settings_reset_headline">"Czy na pewno chcesz resetować aplikacjÄ™?"</string> + <!-- XTXT: settings(reset) - explains the consequences --> + <string name="settings_reset_body">"Nie bÄ™dziesz już wiÄ™cej informowany(-a) o narażeniach i nie bÄ™dziesz mieć możliwoÅ›ci ostrzegania innych użytkowników."</string> + <!-- XHED: settings(reset) - on card, explains user to go to the operating system settings --> + <string name="settings_reset_headline_keys">"UsuÅ„ dziennik "<xliff:g id="line_break">"\n"</xliff:g>"narażeÅ„"</string> + <!-- XTXT: settings(reset) - on card --> + <string name="settings_reset_body_keys">"Dziennik narażeÅ„ należy usunąć osobno w ustawieniach urzÄ…dzenia."</string> + <!-- XBUT: settings(reset) - triggers reset --> + <string name="settings_reset_button_positive">"Resetuj aplikacjÄ™"</string> + <!-- XBUT: settings(reset) - cancel reset and navigates the suer back to the settings --> + <string name="settings_reset_button_negative">"Anuluj"</string> + <!-- XACT: main (overview) - illustraction description, explanation image --> + <string name="settings_reset_illustration_description">"W rÄ™ce trzymany jest smartfon z symbolem, który wskazuje, że aplikacja jest resetowana."</string> + <!-- XHED: settings(reset) - dialog headline --> + <string name="settings_reset_dialog_headline">"Resetuj aplikacjÄ™"</string> + <!-- XTXT: settings(reset) - dialog content --> + <string name="settings_reset_dialog_body">"Nie bÄ™dziesz już wiÄ™cej informowany(-a) o narażeniach i nie bÄ™dziesz mieć możliwoÅ›ci ostrzegania innych użytkowników. Tej procedury nie można cofnąć."</string> + <!-- XBUT: settings(reset) - dialog cancel --> + <string name="settings_reset_dialog_button_cancel">"Anuluj"</string> + <!-- XBUT: settings(reset) - dialog confirm --> + <string name="settings_reset_dialog_button_confirm">"Resetuj"</string> + <!-- XHED: settings(background priority) - notification page title --> + <string name="settings_background_priority_title">"Priorytetowe dziaÅ‚anie w tle"</string> + <!-- XTXT: settings(background priority) - text in row on settings overview --> + <string name="settings_background_priority_body_description">"Zezwól na automatyczne aktualizacje statusu ryzyka"</string> + <!-- XHED: settings(background priority) - multiline headline below illustration --> + <string name="settings_background_priority_headline">"Uruchom Corona-Warn-App w tle"</string> + <!-- YTXT: settings(background priority) - description text --> + <string name="settings_background_priority_body">"Aplikacja Corona-Warn-App bÄ™dzie dziaÅ‚ać stale w tle, jeÅ›li aktywujesz priorytetowe dziaÅ‚anie w tle. DziÄ™ki temu aplikacja bÄ™dzie mogÅ‚a w dowolnym momencie ustalić Twój status ryzyka."</string> + <!-- XACT: settings(background priority) - illustraction description --> + <string name="settings_background_priority_illustration_description">@string/lorem_ipsum</string> + <!-- XTXT: settings(background priority) - explains user what to do on card if background priority is enabled --> + <string name="settings_background_priority_card_body">@string/lorem_ipsum</string> + <!-- XBUT: settings(background priority) - go to operating system settings button on card --> + <string name="settings_background_priority_card_button">@string/lorem_ipsum</string> + <!-- XHED : settings(background priority) - headline on card about the current status and what to do --> + <string name="settings_background_priority_card_headline">@string/lorem_ipsum</string> + + <!-- #################################### + App Information + ###################################### --> + + <!-- XHED: Page title for menu information page --> + <string name="information_title">"Informacje o aplikacji"</string> + <!-- XTXT: Version information text --> + <string name="information_version">"Wersja: %1s"</string> + <!-- XHED: Page title for about information page, also menu item / button text --> + <string name="information_about_title">"O aplikacji"</string> + <!-- XHED: Subtitle for about information page --> + <string name="information_about_headline">"Pokonajmy koronawirusa razem"</string> + <!-- YTXT: Body text for about information page --> + <string name="information_about_body_emphasized">"Instytut Roberta Kocha (RKI) to niemiecka federalna instytucja zdrowia publicznego. RKI publikuje aplikacjÄ™ Corona-Warn-App w imieniu rzÄ…du federalnego. Aplikacja stanowi cyfrowe rozszerzenie już wprowadzonych Å›rodków ochrony zdrowia publicznego: zachowanie dystansu spoÅ‚ecznego, dbanie o higienÄ™ oraz noszenie maseczek."</string> + <!-- YTXT: Body text for about information page --> + <string name="information_about_body">"Wszystkie osoby korzystajÄ…ce z aplikacji pomagajÄ… w Å›ledzeniu i przerwaniu Å‚aÅ„cuchów zakażeÅ„. Aplikacja zapisuje kontakty z innymi osobami lokalnie na Twoim urzÄ…dzeniu. Otrzymasz powiadomienie, jeÅ›li okaże siÄ™, że u osób, z którymi miaÅ‚eÅ›(-aÅ›) kontakt, zdiagnozowano później COVID-19. Twoja tożsamość i prywatność sÄ… zawsze chronione."</string> + <!-- XACT: describes illustration --> + <string name="information_about_illustration_description">"Grupa osób korzysta ze smartfonów na mieÅ›cie."</string> + <!-- XHED: Page title for privacy information page, also menu item / button text --> + <string name="information_privacy_title">"Prywatność danych"</string> + <!-- XACT: describes illustration --> + <string name="information_privacy_illustration_description">"Kobieta używa Corona-Warn-App na swoim smartfonie. Ikona przedstawiajÄ…ca kłódkÄ™ na tle tarczy symbolizuje zaszyfrowane dane."</string> + <!-- XTXT: Path to the full blown privacy html, to translate it exchange "_de" to "_en" and provide the corresponding html file --> + <string name="information_privacy_html_path">"privacy_en.html"</string> + <!-- XHED: Page title for terms of use information page, also menu item / button text --> + <string name="information_terms_title">"Warunki korzystania"</string> + <!-- XHED: Page headline for terms of use information page --> + <string name="information_terms_headline">"Zawartość"</string> + <!-- XACT: describes illustration --> + <string name="information_terms_illustration_description">"W rÄ™ce trzymany jest smartfon z dużą iloÅ›ciÄ… tekstu na ekranie. Obok tekstu znajduje siÄ™ znacznik wyboru symbolizujÄ…cy zaakceptowanie warunków korzystania."</string> + <!-- XTXT: Path to the full blown terms html, to translate it exchange "_de" to "_en" and provide the corresponding html file --> + <string name="information_terms_html_path">"terms_en.html"</string> + <!-- XHED: Page title for technical contact and hotline information page, also menu item / button text --> + <string name="information_contact_title">"Infolinia techniczna"</string> + <!-- XHED: Subtitle for technical contact and hotline information page --> + <string name="information_contact_headline">"Jak możemy Ci pomóc?"</string> + <!-- YTXT: Body text for technical contact and hotline information page --> + <string name="information_contact_body">"W przypadku pytaÅ„ technicznych dotyczÄ…cych Corona-Warn-App prosimy o kontakt z naszÄ… infoliniÄ…."</string> + <!-- XHED: Subtitle for technical contact and hotline information page --> + <string name="information_contact_subtitle_phone">"Infolinia techniczna:"</string> + <!-- XLNK: Button / hyperlink to phone call for technical contact and hotline information page --> + <string name="information_contact_button_phone">"+49 800 7540001"</string> + <!-- XBUT: CAUTION - ONLY UPDATE THE NUMBER IF NEEDED, ONLY NUMBERS AND NO SPECIAL CHARACTERS EXCEPT "+" and "space" ALLOWED IN THIS FIELD; --> + <string name="information_contact_phone_call_number">"+49 800 7540001"</string> + <!-- XTXT: Body text for technical contact and hotline information page --> + <string name="information_contact_body_phone">"Nasz zespół obsÅ‚ugi klienta jest gotowy do pomocy."</string> + <!-- YTXT: Body text for technical contact and hotline information page --> + <string name="information_contact_body_open">"JÄ™zyki: niemiecki, angielski, turecki\nGodziny pracy:"<xliff:g id="line_break">"\n"</xliff:g>"od poniedziaÅ‚ku do soboty: 7:00 - 22:00"<xliff:g id="line_break">"\n(za wyjÄ…tkiem Å›wiÄ…t paÅ„stwowych)"</xliff:g><xliff:g id="line_break">"\nPoÅ‚Ä…czenie jest bezpÅ‚atne."</xliff:g></string> + <!-- YTXT: Body text for technical contact and hotline information page --> + <string name="information_contact_body_other">"W razie jakichkolwiek pytaÅ„ zwiÄ…zanych ze zdrowiem skontaktuj siÄ™ z lekarzem rodzinnym lub pogotowiem ratunkowym pod numerem: 116 117."</string> + <!-- XACT: describes illustration --> + <string name="information_contact_illustration_description">"Mężczyzna korzystajÄ…cy z zestawu sÅ‚uchawkowego prowadzi rozmowÄ™ telefonicznÄ…."</string> + <!-- XLNK: Menu item / hyper link / button text for navigation to FAQ website --> + <string name="information_help_title">"CzÄ™sto zadawane pytania"</string> + <!-- XACT: accessibility hint --> + <string name="information_help_title_accessibility">"CzÄ™sto zadawane pytania. Zostaniesz przekierowany(-a) na zewnÄ™trznÄ… stronÄ™ internetowÄ…."</string> + <!-- XHED: Page title for technical information page, also menu item / button text --> + <string name="information_technical_title">"Informacje prawne"</string> + <!-- XACT: describes illustration --> + <string name="information_technical_illustration_description">"W rÄ™ce trzymany jest smartfon z dużą iloÅ›ciÄ… tekstu na ekranie. Obok tekstu znajduje siÄ™ waga symbolizujÄ…ca informacje prawne."</string> + <!-- XTXT: Path to the full blown legal html, to translate it exchange "_de" to "_en" and provide the corresponding html file --> + <string name="information_technical_html_path">"technical_en.html"</string> + <!-- XHED: Page title for legal information page, also menu item / button text --> + <string name="information_legal_title">"Impressum"</string> + <!-- XHED: Headline for legal information page, publisher section --> + <string name="information_legal_headline_publisher">"Opublikowane przez"</string> + <!-- YTXT: subtitle for legal information page, publisher section --> + <string name="information_legal_subtitle_publisher">"(odpowiedzialny zgodnie z § 5, par. 1 TMG, § 55 par. 1 RStV, DS-GVO, BDSG)"</string> + <!-- YTXT: body for legal information page, publisher section --> + <string name="information_legal_body_publisher">"Robert Koch Institute"<xliff:g id="line_break">"\n"</xliff:g>"Nordufer 20"<xliff:g id="line_break">"\n"</xliff:g>"13353 Berlin"<xliff:g id="line_break">"\n"</xliff:g><xliff:g id="line_break">"\n"</xliff:g>"reprezentowany przez prezesa"</string> + <!-- XHED: Headline for legal information page, contact section --> + <string name="information_legal_headline_contact">"Kontakt"</string> + <!-- YTXT: subtitle for legal information page, contact section --> + <string name="information_legal_subtitle_contact">"E-mail: CoronaWarnApp@rki.de"<xliff:g id="line_break">"\n"</xliff:g>"Telefon: +49 30 18754 5100"</string> + <!-- XHED: Headline for legal information page, tax section --> + <string name="information_legal_headline_taxid">"Numer identyfikacyjny VAT"</string> + <!-- YTXT: subtitle for legal information page, tax section --> + <string name="information_legal_subtitle_taxid">"DE 165 893 430"</string> + <!-- XACT: describes illustration --> + <string name="information_legal_illustration_description">"W rÄ™ce trzymany jest smartfon z dużą iloÅ›ciÄ… tekstu na ekranie. Obok tekstu znajduje siÄ™ symbol paragrafu reprezentujÄ…cy impressum."</string> + + + <!-- #################################### + Submission + ###################################### --> + + <!-- XHED: Dialog title for generic web request error --> + <string name="submission_error_dialog_web_generic_error_title">"BÅ‚Ä…d"</string> + <!-- XMSG: Dialog body for generic web request network error with status code --> + <string name="submission_error_dialog_web_generic_network_error_body">"Nie udaÅ‚o siÄ™ nawiÄ…zać poÅ‚Ä…czenia (%1$d). Spróbuj ponownie."</string> + <!-- XMSG: Dialog body for generic web request error without status code --> + <string name="submission_error_dialog_web_generic_error_body">"Nie udaÅ‚o siÄ™ nawiÄ…zać poÅ‚Ä…czenia. Spróbuj ponownie."</string> + <!-- XBUT: Positive button for generic web request error --> + <string name="submission_error_dialog_web_generic_error_button_positive">"Wstecz"</string> + + <!-- XHED: Dialog title for already paired test error --> + <string name="submission_error_dialog_web_test_paired_title">"BÅ‚Ä…d"</string> + <!-- XMSG: Dialog body for already paired test error --> + <string name="submission_error_dialog_web_test_paired_body">"Kod QR/TAN jest nieprawidÅ‚owy lub byÅ‚ już używany. Spróbuj ponownie lub skontaktuj siÄ™ z technicznÄ… infoliniÄ…, wybierajÄ…c opcje: Informacje o aplikacji -> Infolinia techniczna."</string> + <!-- XBUT: Positive button for already paired test error --> + <string name="submission_error_dialog_web_test_paired_button_positive">"Wstecz"</string> + + <!-- XHED: Dialog title for could not create submission tan --> + <string name="submission_error_dialog_web_paring_invalid_title">"BÅ‚Ä…d"</string> + <!-- XMSG: Dialog body for could not create submission tan --> + <string name="submission_error_dialog_web_paring_invalid_body">"Nie można byÅ‚o wygenerować numeru TAN do przesÅ‚ania. Skontaktuj siÄ™ z technicznÄ… infoliniÄ…, wybierajÄ…c opcje: Informacje o aplikacji -> Infolinia techniczna."</string> + <!-- XBUT: Positive button for could not create submission tan --> + <string name="submission_error_dialog_web_paring_invalid_button_positive">"Wstecz"</string> + + <!-- XHED: Dialog title for submission tan invalid --> + <string name="submission_error_dialog_web_tan_invalid_title">"BÅ‚Ä…d"</string> + <!-- XMSG: Dialog body for submission tan invalid --> + <string name="submission_error_dialog_web_tan_invalid_body">"Nie można byÅ‚o wygenerować numeru TAN do przesÅ‚ania. Skontaktuj siÄ™ z technicznÄ… infoliniÄ…, wybierajÄ…c opcje: Informacje o aplikacji -> Infolinia techniczna."</string> + <!-- XBUT: Positive button for submission tan invalid --> + <string name="submission_error_dialog_web_tan_invalid_button_positive">"Wstecz"</string> + + <!-- Permission Rationale Dialog --> + <!-- XHED: Dialog headline QR Scan permission rationale --> + <string name="submission_qr_code_scan_permission_rationale_dialog_headline">"Wymagana autoryzacja aparatu"</string> + <!-- YTXT: Dialog Body text for QR Scan permission rationale --> + <string name="submission_qr_code_scan_permission_rationale_dialog_body">"Zezwól aplikacji na użycie aparatu do skanowania kodu QR."</string> + <!-- XBUT: Dialog(QR Scan permission rationale) - positive button (right) --> + <string name="submission_qr_code_scan_permission_rationale_dialog_button_positive">"Zezwól"</string> + <!-- XBUT: Dialog(QR Scan permission rationale) - negative button (left) --> + <string name="submission_qr_code_scan_permission_rationale_dialog_button_negative">"Nie zezwalaj"</string> + + <!-- Permission Denied Dialog --> + <!-- XHED: Dialog headline QR Scan permission denied --> + <string name="submission_qr_code_scan_permission_denied_dialog_headline">"Potrzebny dostÄ™p do aparatu"</string> + <!-- YTXT: Dialog Body text for QR Scan permission denied --> + <string name="submission_qr_code_scan_permission_denied_dialog_body">"WywoÅ‚aj ustawienia systemowe i zezwól aplikacji na użycie aparatu do skanowania kodu QR."</string> + <!-- XBUT: Dialog(QR Scan permission denied) - button --> + <string name="submission_qr_code_scan_permission_denied_dialog_button">"OK"</string> + + <!-- QR Code Scan Invalid Dialog --> + <!-- XHED: Dialog headline for invalid QR code --> + <string name="submission_qr_code_scan_invalid_dialog_headline">"Niepoprawny kod QR"</string> + <!-- YTXT: Dialog Body text for invalid QR code --> + <string name="submission_qr_code_scan_invalid_dialog_body">"Kod QR jest nie poprawny. Spróbuj ponownie."</string> + <!-- XBUT: Dialog(Invalid QR code) - positive button (right) --> + <string name="submission_qr_code_scan_invalid_dialog_button_positive">"Spróbuj ponownie."</string> + <!-- XBUT: Dialog(Invalid QR code) - negative button (left) --> + <string name="submission_qr_code_scan_invalid_dialog_button_negative">"Anuluj"</string> + + <!-- QR Code Scan Screen --> + <string name="submission_qr_code_scan_title">"Ustaw kod QR w ramce."</string> + <!-- YTXT: instruction text for QR code scanning --> + <string name="submission_qr_code_scan_body">"Ustaw kod QR w ramce."</string> + + <!-- Submission Test Result --> + <!-- XHED: Page headline for test result --> + <string name="submission_test_result_headline">"Wynik testu"</string> + <!-- XHED: Page subheadline for test result --> + <string name="submission_test_result_subtitle">"Jak to dziaÅ‚a:"</string> + <!-- XHED: Page headline for results next steps --> + <string name="submission_test_result_steps_added_heading">"Test zostaÅ‚ dodany."</string> + <!-- YTXT: Body text for for results next steps --> + <string name="submission_test_result_steps_added_body">"Twój test zostaÅ‚ zapisany w Corona-Warn-App."</string> + <!-- XHED: Page headline for pending test result next steps --> + <string name="submission_test_result_pending_steps_waiting_heading">"Wynik testu nie jest jeszcze dostÄ™pny"</string> + <!-- YTXT: Body text for next steps section of waiting test result page --> + <string name="submission_test_result_pending_steps_waiting_body">"Twój wynik testu nie jest jeszcze dostÄ™pny."</string> + <!-- XBUT: test result pending : refresh button --> + <string name="submission_test_result_pending_refresh_button">"Aktualizuj"</string> + <!-- XBUT: test result pending : remove the test button --> + <string name="submission_test_result_pending_remove_test_button">"UsuÅ„ test"</string> + <!-- XHED: Page headline for negative test result next steps --> + <string name="submission_test_result_negative_steps_negative_heading">"Twój wynik testu"</string> + <!-- YTXT: Body text for next steps section of test negative result --> + <string name="submission_test_result_negative_steps_negative_body">"Wynik laboratoryjny nie potwierdza, że masz koronawirusa SARS-CoV-2.\n\nUsuÅ„ test z aplikacji Corona-Warn-App, aby w razie potrzeby móc zapisać w niej kod nowego testu."</string> + <!-- XBUT: negative test result : remove the test button --> + <string name="submission_test_result_negative_remove_test_button">"UsuÅ„ test"</string> + <!-- XHED: Page headline for positive test result screen --> + <string name="submission_test_result_positive_steps_positive_heading">"Twój wynik testu"</string> + <!-- YTXT: Body text for next steps section of test positive result--> + <string name="submission_test_result_positive_steps_positive_body">"Twój wynik testu jest pozytywny."</string> + <!-- XHED: Page headline for other warnings screen --> + <string name="submission_test_result_positive_steps_warning_others_heading">"Ostrzeganie innych"</string> + <!-- YTXT: Body text for for other warnings screen--> + <string name="submission_test_result_positive_steps_warning_others_body">"UdostÄ™pnij swoje losowe identyfikatory z ostatnich 14 dni w celu ochrony innych osób i przerwania Å‚aÅ„cucha zakażeÅ„."</string> + <!-- XBUT: positive test result : continue button --> + <string name="submission_test_result_positive_continue_button">"Dalej"</string> + <!-- XHED: Page headline for invalid test result screen --> + <string name="submission_test_result_invalid_steps_invalid_heading">"Twój wynik testu"</string> + <!-- YTXT: Body text for next steps section of invalid test result--> + <string name="submission_test_result_invalid_steps_invalid_body">"WystÄ…piÅ‚ problem z ustaleniem wyniku Twojego testu. Skontaktuj siÄ™ z organem ds. zdrowia publicznego, aby dowiedzieć siÄ™, jak dalej postÄ™pować.\n\nUsuÅ„ test z aplikacji Corona-Warn-App, aby w razie potrzeby móc zapisać w niej kod nowego testu."</string> + <!-- XBUT: invalid test result : remove the test button --> + <string name="submission_test_result_invalid_remove_test_button">"UsuÅ„ test"</string> + <!-- XHED: Dialog title for tracing required dailog --> + <string name="submission_test_result_dialog_tracing_required_title">"Wymagane rejestrowanie narażenia"</string> + <!-- YTXT: Dialog text for tracing required dialog--> + <string name="submission_test_result_dialog_tracing_required_message">"Aktywuj rejestrowanie narażenia, aby ostrzec inne osoby."</string> + <!-- XBUT: tracing required : OK button --> + <string name="submission_test_result_dialog_tracing_required_button">"OK"</string> + <!-- XHED: Dialog title for test removal --> + <string name="submission_test_result_dialog_remove_test_title">"Usunąć test?"</string> + <!-- YTXT: Dialog text for test removal --> + <string name="submission_test_result_dialog_remove_test_message">"Test zostanie trwale usuniÄ™ty z Corona-Warn-App i jego ponownie dodanie nie bÄ™dzie możliwe. Tej procedury nie można cofnąć."</string> + <!-- XBUT: Positive button for test removal --> + <string name="submission_test_result_dialog_remove_test_button_positive">"UsuÅ„"</string> + <!-- XBUT: Negative button for test removal --> + <string name="submission_test_result_dialog_remove_test_button_negative">"Anuluj"</string> + <!-- XHED: Title for test result card positive --> + <string name="submission_test_result_card_positive_title">"Zakażenie SARS-CoV-2"</string> + <!-- YTXT: Body text for test result card positive --> + <string name="submission_test_result_card_positive_body">"Zdiagnozowano u Ciebie wirusa SARS-CoV-2."</string> + + <!-- Submission Tan --> + <!-- XHED: Page title for TAN submission pge --> + <string name="submission_tan_title">"Wpis TAN"</string> + <!-- YTXT: Body text for the tan submission page --> + <string name="submission_tan_body">"Wpisz 10-cyfrowy numer TAN, który otrzymaÅ‚eÅ›(-aÅ›)."</string> + <!-- XBUT: Submit TAN button --> + <string name="submission_tan_button_text">"Dalej"</string> + <!-- XACT: Submission Tan page title --> + <string name="submission_tan_accessibility_title">"Wpis TAN"</string> + <!-- YTXT: Error text for the tan submission page --> + <string name="submission_tan_error">"NieprawidÅ‚owy TAN, sprawdź swój wpis."</string> + <!-- YTXT: Error text for the tan submission page (wrong characters) --> + <string name="submission_tan_character_error">"NieprawidÅ‚owy wpis, sprawdź go."</string> + + <!-- Submission Intro --> + <!-- XHED: Page title for menu at the start of the submission process --> + <string name="submission_intro_title">"Czy wykonano Ci test?"</string> + <!-- XHED: Page headline for menu the at start of the submission process --> + <string name="submission_intro_headline">"Sposób dziaÅ‚ania Corona-Warn-App"</string> + <!-- YTXT: submission introduction text --> + <string name="submission_intro_text">"Aby zapewnić prawidÅ‚owe dziaÅ‚anie aplikacji, korzystamy ze wsparcia osób, u których zdiagnozowano COVID-19.\n\nPonieważ wymieniane sÄ… tylko zaszyfrowane, losowe identyfikatory, zachowujesz anonimowość. Możesz teraz postÄ…pić w poniższy sposób:"</string> + <!-- XBUT: Submission introduction next button--> + <string name="submission_intro_button_next">"Dalej"</string> + <!-- XACT: Submission intro - illustration description, explanation image --> + <string name="submission_intro_illustration_description">"Zaszyfrowana diagnoza zakażenia jest przesyÅ‚ana do systemu, który bÄ™dzie teraz ostrzegaÅ‚ innych użytkowników."</string> + <!-- YTXT: submission introduction bullet points --> + <string-array name="submission_intro_bullet_points"> + <item>"JeÅ›li zdiagnozowano u Ciebie COVID-19, możesz powiadomić inne osoby."</item> + <item>"Jeżeli otrzymaÅ‚eÅ›(-aÅ›) numer TAN dla diagnozy zakażenia, możesz użyć go do zarejestrowania testu."</item> + <item>"JeÅ›li nie masz numeru TAN, możesz poprosić o niego telefonicznie."</item> + </string-array> + <!-- XACT: Submission Intro page title --> + <string name="submission_intro_accessibility_title">"Czy wykonano Ci test? Sposób dziaÅ‚ania Corona-Warn-App"</string> + + <!-- Dispatcher --> + <!-- XHED: Page headline for dispatcher menu --> + <string name="submission_dispatcher_headline">"Wybór"</string> + <!-- XHED: Page subheadline for dispatcher menu --> + <string name="submission_dispatcher_subheadline">"Jakie informacje posiadasz?"</string> + <!-- YTXT: Dispatcher text for QR code option --> + <string name="submission_dispatcher_card_qr">"Dokument z kodem QR"</string> + <!-- YTXT: Body text for QR code dispatcher option --> + <string name="submission_dispatcher_qr_card_text">"Zarejestruj test poprzez zeskanowanie kodu QR dokumentu testu."</string> + <!-- XHED: Dialog headline for dispatcher QR prviacy dialog --> + <string name="submission_dispatcher_qr_privacy_dialog_headline">"OÅ›wiadczenia o wyrażeniu zgody"</string> + <!-- YTXT: Dialog Body text for dispatcher QR privacy dialog --> + <string name="submission_dispatcher_qr_privacy_dialog_body">"By tapping on “Acceptâ€, you consent to the App querying the status of your coronavirus test and displaying it in the App. This feature is available to you if you have received a QR code and have consented to your test result being transmitted to the App’s server system. As soon as the testing lab has stored your test result on the server, you will be able to see the result in the App. If you have enabled notifications, you will also receive a notification outside the App telling you that your test result has been received. However, for privacy reasons, the test result itself will only be displayed in the App. You can withdraw this consent at any time by deleting your test registration in the App. Withdrawing your consent will not affect the lawfulness of processing before its withdrawal. Further information can be found in the menu under “Data Privacy Informationâ€."</string> + <!-- XBUT: submission(dispatcher QR Dialog) - positive button (right) --> + <string name="submission_dispatcher_qr_privacy_dialog_button_positive">"Akceptuj"</string> + <!-- XBUT: submission(dispatcher QR Dialog) - negative button (left) --> + <string name="submission_dispatcher_qr_privacy_dialog_button_negative">"Nie akceptuj"</string> + <!-- YTXT: Dispatcher text for TAN code option --> + <string name="submission_dispatcher_card_tan_code">"TAN"</string> + <!-- YTXT: Body text for TAN code dispatcher option --> + <string name="submission_dispatcher_tan_code_card_text">"Zarejestruj test poprzez rÄ™czne wprowadzenie swojego numeru TAN."</string> + <!-- YTXT: Dispatcher text for TELE-TAN option --> + <string name="submission_dispatcher_card_tan_tele">"PoproÅ› o TAN"</string> + <!-- YTXT: Body text for TELE_TAN dispatcher option --> + <string name="submission_dispatcher_tan_tele_card_text">"ZadzwoÅ„ do nas, jeÅ›li zdiagnozowano u Ciebie COVID-19."</string> + <!-- XACT: Dispatcher Tan page title --> + <string name="submission_dispatcher_accessibility_title">"Jakie informacje posiadasz?"</string> + + <!-- Submission Positive Other Warning --> + <!-- XHED: Page title for the positive result additional warning page--> + <string name="submission_positive_other_warning_title">"Ostrzeganie innych"</string> + <!-- XHED: Page headline for the positive result additional warning page--> + <string name="submission_positive_other_warning_headline">"Pomóż nam wszystkim!"</string> + <!-- YTXT: Body text for the positive result additional warning page--> + <string name="submission_positive_other_warning_body">"Możesz nastÄ™pnie aktywować w aplikacji Corona-Warn-App udostÄ™pnianie innym Twoich losowych identyfikatorów z ostatnich 14 dni. W ten sposób ostrzeżesz inne osoby i pomożesz w przerwaniu Å‚aÅ„cucha zakażeÅ„.\n\nPonieważ przekazywane sÄ… tylko bezosobowe, losowe identyfikatory, zachowujesz anonimowość."</string> + <!-- XHED: Title for the privacy card--> + <string name="submission_positive_other_warning_privacy_title">"Prywatność danych"</string> + <!-- YTXT: Body text for the privacy card--> + <string name="submission_positive_other_warning_privacy_body">"By tapping on “Acceptâ€, you consent to the App sending your positive test result to the App’s server system along with your random IDs from the last 14 days, so that other App users who have enabled the exposure logging feature can be automatically notified that they may have been exposed to a risk of infection. The random IDs transmitted for this purpose do not contain any information that would allow conclusions to be drawn about your identity or your person. \n\nTransmitting your test result via the App is voluntary. You will not be penalized if you do not transmit your test result. Since it is not possible to trace or check whether and how you use the App, nobody but you will know whether you have transmitted the information that you are infected.\n\nYou can withdraw your consent at any time by deleting the App. This withdrawal of your consent will not affect the lawfulness of the processing carried out based on the consent prior to the withdrawal. Further information can be found in the menu under “Data Privacy Informationâ€."</string> + <!-- XBUT: other warning continue button --> + <string name="submission_positive_other_warning_button">"Dalej"</string> + <!-- XACT: other warning - illustration description, explanation image --> + <string name="submission_positive_other_illustration_description">"Zaszyfrowana diagnoza zakażenia jest przesyÅ‚ana do systemu."</string> + + + <!-- Submission Done --> + <!-- XHED: Page title for completed submission page --> + <string name="submission_done_title">"DziÄ™kujemy"</string> + <!-- YTXT: Body text for completed submission page --> + <string name="submission_done_body">"Twoja pomoc jest bardzo cenna. Pozwala na ostrzeganie innych osób i umożliwia im odpowiednie zareagowanie."</string> + <!-- XHED: Page subtitle for completed submission page --> + <string name="submission_done_subtitle">"Uwaga:"</string> + <!-- YTXT: text after submission: contagious --> + <string name="submission_done_contagious">"Możesz zarażać."</string> + <!-- YTXT: text after submission: isolate --> + <string name="submission_done_isolate">"Izoluj siÄ™ od innych osób."</string> + <!-- XHED: Title for further info --> + <string name="submission_done_further_info_title">"Inne informacje:"</string> + <!-- YTXT: submission done further info bullet points --> + <string-array name="submission_done_further_info_bullet_points"> + <item>"Okres kwarantanny wynosi zazwyczaj 14 dni. Obserwuj swoje objawy i monitoruj ich rozwój."</item> + <item>"Zostaniesz poproszony(-a) przez organ ds. zdrowia publicznego o stworzenie listy osób, z którymi miaÅ‚eÅ›(-aÅ›) kontakt. Powinna ona obejmować wszystkie osoby, z którymi miaÅ‚eÅ›(-aÅ›) bliski kontakt (w odlegÅ‚oÅ›ci mniejszej niż 2 metry, rozmowa twarzÄ… w twarz) przez ponad 15 minut w ciÄ…gu dwóch dni przed wystÄ…pieniem objawów."</item> + <item>"Zwróć szczególnÄ… uwagÄ™ na osoby, które nie zostanÄ… powiadomione bezpoÅ›rednio przez aplikacjÄ™, ponieważ nie posiadajÄ… smartfonów lub nie zainstalowaÅ‚y aplikacji."</item> + <item>"Nawet jeÅ›li nie masz już żadnych objawów i znów czujesz siÄ™ dobrze, możesz nadal zarażać."</item> + </string-array> + <!-- XBUT: submission finished button --> + <string name="submission_done_button_done">"Gotowe"</string> + <!-- XACT: submission finished - illustration description, explanation image --> + <string name="submission_done_illustration_description">"Wszyscy w grupie siÄ™ cieszÄ…, ponieważ ktoÅ› podzieliÅ‚ siÄ™ wynikiem testu."</string> + + <!-- Submission Contact --> + <!-- XHED: Page title for contact page in submission flow --> + <string name="submission_contact_title">"PoproÅ› o TAN"</string> + <!-- XHED: Page headline for contact page in submission flow --> + <string name="submission_contact_headline">"Jak to dziaÅ‚a:"</string> + <!-- YTXT: Body text for contact page in submission flow--> + <string name="submission_contact_body">"Przygotuj wynik testu (jeÅ›li jest dostÄ™pny) oraz numer telefonu, pod którym można poprosić o numer TAN."</string> + <!-- XBUT: submission contact call button --> + <string name="submission_contact_button_call">"ZadzwoÅ„"</string> + <!-- XBUT: submission contact enter tan button --> + <string name="submission_contact_button_enter">"Wpisz TAN"</string> + <!-- YTXT: Body text for step 1 of contact page --> + <string name="submission_contact_step_1_body">"ZadzwoÅ„ na infoliniÄ™ i poproÅ› o numer TAN:"</string> + <!-- XLNK: Button / hyperlink to phone call for TAN contact page --> + <string name="submission_contact_number_display">"+49 800 7540002"</string> + <!-- XLNK: Technical number which is called when the user clicks on the display number --> + <string name="submission_contact_number_dial">"+49 800 7540002"</string> + <!-- YTXT: Body text for step 2 of contact page--> + <string name="submission_contact_step_2_body">"Zarejestruj test poprzez wpisanie numeru TAN w aplikacji."</string> + <!-- YTXT: Body text for operating hours in contact page--> + <string name="submission_contact_operating_hours_body">"JÄ™zyki: \nniemiecki, angielski, turecki\n\nGodziny pracy:\nod poniedziaÅ‚ku do niedzieli: 24 godziny na dobÄ™\n\nPoÅ‚Ä…czenie jest bezpÅ‚atne."</string> + + <!-- XACT: Submission contact page title --> + <string name="submission_contact_accessibility_title">"ZadzwoÅ„ na infoliniÄ™ i poproÅ› o numer TAN"</string> + <!-- XACT: Content Description for submission contact step 1, number has to sync with the display number --> + <string name="submission_contact_step_1_content">"Najpierw zadzwoÅ„ na infoliniÄ™ i poproÅ› o numer TAN. Numer infolinii to +49 800 7540002. Godziny pracy: od poniedziaÅ‚ku do piÄ…tku od 8:00 do 22:00 oraz w sobotÄ™ i niedzielÄ™ od 10:00 do 22:00. PoÅ‚Ä…czenie jest bezpÅ‚atne."</string> + <!-- XACT: Content Description for submission contact step 2 --> + <string name="submission_contact_step_2_content">"NastÄ™pnie zarejestruj test przy użyciu numeru TAN w aplikacji."</string> + + <!-- Submission Status Card --> + <!-- XHED: Page title for the various submission status: fetching --> + <string name="submission_status_card_title_fetching">"Pobieranie danych..."</string> + <!-- XHED: Page title for the various submission status: unregistered --> + <string name="submission_status_card_title_unregistered">"Czy wykonano Ci test?"</string> + <!-- XHED: Page title for the various submission status: pending --> + <string name="submission_status_card_title_pending">"Twój wynik testu nie jest jeszcze dostÄ™pny"</string> + <!-- XHED: Page title for the various submission status: available --> + <string name="submission_status_card_title_available">"Twój wynik jest dostÄ™pny"</string> + <!-- XHED: Page title for the various submission status: positive --> + <string name="submission_status_card_title_positive">"Diagnoza zakażenia"</string> + <!-- XHED: Subtitle for the submission status card: invalid --> + <string name="submission_status_card_subtitle_invalid">"NieprawidÅ‚owy test"</string> + <!-- XHED: Subtitle for the submission status card: negative --> + <string name="submission_status_card_subtitle_negative">"Diagnoza braku zakażenia"</string> + <!-- YTXT: Body text for submission status: fetching --> + <string name="submission_status_card_body_fetching">"Twój wynik jest aktualizowany"</string> + <!-- YTXT: Body text for submission status: unregistered --> + <string name="submission_status_card_body_unregistered">"Pomóż przerwać Å‚aÅ„cuch zakażeÅ„, powiadamiajÄ…c innych."</string> + <!-- YTXT: Body text for submission status: pending --> + <string name="submission_status_card_body_pending">"Ustalanie wyniku Twojego testu jeszcze siÄ™ nie zakoÅ„czyÅ‚o."</string> + <!-- YTXT: Body text for submission status: invalid --> + <string name="submission_status_card_body_invalid">"Ustalenie wyniku Twojego testu byÅ‚o niemożliwe."</string> + <!-- YTXT: Body text for submission status: positive --> + <string name="submission_status_card_body_positive">"Zdiagnozowano u Ciebie zakażenie wirusem SARS-CoV-2."</string> + <!-- YTXT: Body text for submission status: negative --> + <string name="submission_status_card_body_negative">"Nie zdiagnozowano u Ciebie zakażenia wirusem SARS-CoV-2."</string> + <!-- XBUT: submission status card unregistered button --> + <string name="submission_status_card_button_unregistered">"WiÄ™cej informacji i pomoc"</string> + <!-- XBUT: submission status card show results button --> + <string name="submission_status_card_button_show_results">"WyÅ›wietl test"</string> + <!-- XHED: submission status card positive result subtitle --> + <string name="submission_status_card_positive_result_subtitle">"Uwaga:"</string> + <!-- YTXT: text for contagious card --> + <string name="submission_status_card_positive_result_contagious">"Możesz zarażać. Izoluj siÄ™ od innych osób."</string> + <!-- YTXT: text for contact card --> + <string name="submission_status_card_positive_result_contact">"Organ ds. zdrowia publicznego skontaktuje siÄ™ z TobÄ… w ciÄ…gu kilku najbliższych dni telefonicznie lub listownie."</string> + <!-- YTXT: text for share result card--> + <string name="submission_status_card_positive_result_share">"UdostÄ™pnij swoje losowe identyfikatory, aby umożliwić ostrzeganie innych osób."</string> + + <!-- Test Result Card --> + <string name="test_result_card_headline">"Twoja diagnoza:"</string> + <!-- YTXT: virus name text --> + <string name="test_result_card_virus_name_text">"SARS-CoV-2"</string> + <!-- YTXT: registered at text --> + <string name="test_result_card_registered_at_text">"Zarejestrowano dnia %s"</string> + <!-- YTXT: negative status text --> + <string name="test_result_card_status_negative">"Brak zakażenia"</string> + <!-- YTXT: positive status text --> + <string name="test_result_card_status_positive">"Zakażenie"</string> + <!-- YTXT: invalid status text --> + <string name="test_result_card_status_invalid">"Ustalenie wyniku jest niemożliwe"</string> + <!-- YTXT: pending status text --> + <string name="test_result_card_status_pending">"Twój wynik testu nie jest jeszcze dostÄ™pny"</string> + <!-- XHED: Title for further info of test result negative --> + <string name="test_result_card_negative_further_info_title">"Inne informacje:"</string> + <!-- YTXT: Content for further info of test result negative --> + <string-array name="test_result_card_negative_further_info_bullet_points"> + <item>"Nadal nie czujesz siÄ™ dobrze? JeÅ›li czujesz siÄ™ bardzo sÅ‚abo i/lub objawy siÄ™ nasiliÅ‚y, skontaktuj siÄ™ z lekarzem rodzinnym."</item> + <item>"PozostaÅ„ w domu, dopóki nie poczujesz siÄ™ znowu dobrze. Zarażenie siÄ™ koronawirusem (SARS-CoV-2) w stanie osÅ‚abienia przez innÄ… infekcjÄ™ może prowadzić do poważnej choroby."</item> + <item>"Nie idź do pracy, jeÅ›li nie czujesz siÄ™ dobrze, aby nie stwarzać zagrożenia dla innych osób. JeÅ›li objawy nasilÄ… siÄ™, może być konieczne wykonanie kolejnego testu SARS-CoV-2."</item> + </string-array> + + <!-- #################################### + Button Tooltips for Accessibility + ###################################### --> + <!-- XACT: back button--> + <string name="button_back">"Powrót do poprzedniej strony"</string> + <!-- XACT: proceed button--> + <string name="button_proceed">"Przycisk Kontynuuj"</string> + <!-- XACT: share button--> + <string name="button_share">"UdostÄ™pnij"</string> + <!-- XACT: menu button--> + <string name="button_menu">"Menu"</string> + <!-- XACT: Accessibility needs a suffix to strings, to reduce the amount of manual translations this string is appended to accessibility button strings, e.g. "Zurück Taste", "Taste" is the default used by android in german --> + <string name="suffix_button">"Przycisk"</string> + <!-- XACT: Accessibility needs a suffix to strings, to reduce the amount of manual translations this string is appended to accessibility content description strings for images, e.g. "Eine Gruppe von... Bild" --> + <string name="suffix_image">"Obraz"</string> + + <!-- #################################### + Business Error Messages + ###################################### --> + <!-- XTXT: error dialog - detailed text if device is offline --> + <string name="errors_no_network">"Brak poÅ‚Ä…czenia z Internetem."</string> + <!-- XTXT: error dialog - detailed text if device has not enough device space --> + <string name="errors_not_enough_device_storage">"Nie masz wystarczajÄ…cej iloÅ›ci wolnej pamiÄ™ci."</string> + <!-- XTXT: error dialog - detailed text if there is error with Google API --> + <string name="errors_communication_with_api">"BÅ‚Ä…d podczas komunikacji z interfejsem Google"</string> + <!-- XTXT: error dialog - detailed text if there is an error during external navigation / external action --> + <string name="errors_external_action">"Nie możesz wykonać tej czynnoÅ›ci. Skontaktuj siÄ™ z infoliniÄ…."</string> + <!-- XTXT: error dialog - phone still needs Google Play Services or Google Mobile Services update --> + <string name="errors_google_update_needed">"Twoja aplikacja Corona-Warn-App jest poprawnie zainstalowana, ale usÅ‚uga „Powiadomienia o narażeniu na COVID-19†nie jest dostÄ™pna w systemie operacyjnym Twojego smartfona. Oznacza to, że nie możesz korzystać z aplikacji Corona-Warn-App. WiÄ™cej informacji znajduje siÄ™ na naszej stronie CzÄ™sto zadawane pytania: https://www.coronawarn.app/en/faq/."</string> + <!-- XTXT: error dialog - either Google API Error (10) or reached request limit per day --> + <string name="errors_google_api_error">"Aplikacja Corona-Warn-App dziaÅ‚a prawidÅ‚owo, ale nie możemy zaaktualizować Twojego aktualnego statusu ryzyka. Rejestrowanie narażenia pozostaje aktywne i dziaÅ‚a prawidÅ‚owo. WiÄ™cej informacji można znaleźć na naszej stronie CzÄ™sto zadawane pytania: https://www.coronawarn.app/en/faq/ \n"</string> + + <!-- #################################### + Generic Error Messages + ###################################### --> + <!-- XHED: error dialog - headline --> + <string name="errors_generic_headline">"CoÅ› poszÅ‚o nie tak."</string> + <!-- XTXT: error dialog - short text for error reason --> + <string name="errors_generic_details_headline">"Przyczyna"</string> + <!-- XBUT: error dialog - button close --> + <string name="errors_generic_button_positive">"OK"</string> + <!-- XBUT: error dialog - button show details --> + <string name="errors_generic_button_negative">"Szczegóły"</string> + <!-- XTXT: error dialog - text when no error description is available --> + <string name="errors_generic_text_unknown_error_cause">"WystÄ…piÅ‚ nieznany bÅ‚Ä…d."</string> + + <!-- #################################### + Just for Development + ###################################### --> + <!-- NOTR --> + <string name="lorem_ipsum">"Lorem Ipsum"</string> + <!-- NOTR --> + <string name="menu_test_api">"Test API"</string> + <!-- NOTR --> + <string name="menu_test_risk_level">"Test Risk Level"</string> + <!-- NOTR --> + <string name="menu_test_notification">"Test Notification"</string> + <!-- NOTR --> + <string name="test_api_button_api_launch">"Android API Test(Manual Test)"</string> + <!-- NOTR --> + <string name="test_api_button_start">"Start (Broadcast/Receive Bluetooth)"</string> + <!-- NOTR --> + <string name="test_api_button_get_exposure_keys">"Get Exposure keys (my keys history from api)"</string> + <!-- NOTR --> + <string name="test_api_button_share_my_keys">"Share my keys via Email"</string> + <!-- NOTR --> + <string name="test_api_button_enter_other_keys">"Submit Exposure Key"</string> + <!-- NOTR --> + <string name="test_api_button_show_qr_code">"Show QR Code"</string> + <!-- NOTR --> + <string name="test_api_button_submit_keys">"Submit keys to Server"</string> + <!-- NOTR --> + <string name="test_api_button_scan_qr_code">"Scan Exposure Key"</string> + <!-- NOTR --> + <string name="test_api_switch_last_three_hours_from_server">"Last 3 Hours Mode"</string> + <!-- NOTR --> + <string name="test_api_button_check_exposure">"Check Exposure Summary"</string> + <!-- NOTR --> + <string name="test_api_exposure_summary_headline">"Exposure summary"</string> + <!-- NOTR --> + <string name="test_api_body_daysSinceLastExposure">"Days since last exposure: %1$s"</string> + <!-- NOTR --> + <string name="test_api_body_attenuation">"Attenuation Durations in Minutes: %1$s"</string> + <!-- NOTR --> + <string name="test_api_body_summation_risk">"Summation Risk Score: %1$s"</string> + <!-- NOTR --> + <string name="test_api_body_matchedKeyCount">"Matched key count: %1$s"</string> + <!-- NOTR --> + <string name="test_api_body_maximumRiskScore">"Maximum risk score %1$s"</string> + <!-- NOTR --> + <string name="test_api_body_my_keys">"My keys (count: %1$d)"</string> + <!-- NOTR --> + <string name="test_api_body_other_keys">"Other key"</string> + <!-- NOTR --> + <string name="test_api_calculate_risk_level">"Calculate Risk Level"</string> + +</resources> \ No newline at end of file diff --git a/Corona-Warn-App/src/main/res/values-ro/strings.xml b/Corona-Warn-App/src/main/res/values-ro/strings.xml new file mode 100644 index 0000000000000000000000000000000000000000..627787b29b8848081f7c400a542fbd955950f87a --- /dev/null +++ b/Corona-Warn-App/src/main/res/values-ro/strings.xml @@ -0,0 +1,1052 @@ +<?xml version="1.0" encoding="UTF-8"?><resources xmlns:tools="http://schemas.android.com/tools" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2" tools:ignore="MissingTranslation"> + + <!-- #################################### + Preference Keys + ###################################### + TODO: Check what is needed --> + + <!-- NOTR --> + <string name="preference_name"><xliff:g id="preference">"shared_preferences_cwa"</xliff:g></string> + <!-- NOTR --> + <string name="preference_onboarding_completed"><xliff:g id="preference">"preference_onboarding_completed"</xliff:g></string> + <!-- NOTR --> + <string name="preference_onboarding_completed_timestamp"><xliff:g id="preference">"preference_onboarding_completed_timestamp"</xliff:g></string> + <!-- NOTR --> + <string name="preference_reset_app"><xliff:g id="preference">"preference_reset_app"</xliff:g></string> + <!-- NOTR --> + <string name="preference_only_wifi"><xliff:g id="preference">"preference_only_wifi"</xliff:g></string> + <!-- NOTR --> + <string name="preference_tracing"><xliff:g id="preference">"preference_tracing"</xliff:g></string> + <!-- NOTR --> + <string name="preference_timestamp_diagnosis_keys_fetch"><xliff:g id="preference">"preference_timestamp_diagnosis_keys_fetch"</xliff:g></string> + <!-- NOTR --> + <string name="preference_timestamp_manual_diagnosis_keys_retrieval"><xliff:g id="preference">"preference_timestamp_manual_diagnosis_keys_retrieval"</xliff:g></string> + <!-- NOTR --> + <string name="preference_string_google_api_token"><xliff:g id="preference">"preference_m_string_google_api_token"</xliff:g></string> + <!-- NOTR --> + <string name="preference_notifications_enabled"><xliff:g id="preference">"preference_notifications_enabled"</xliff:g></string> + <!-- NOTR --> + <string name="preference_notifications_risk_enabled"><xliff:g id="preference">"preference_notifications_risk_enabled"</xliff:g></string> + <!-- NOTR --> + <string name="preference_notifications_test_enabled"><xliff:g id="preference">"preference_notifications_test_enabled"</xliff:g></string> + <!-- NOTR --> + <string name="preference_background_job_allowed"><xliff:g id="preference">"preference_background_job_enabled"</xliff:g></string> + <!-- NOTR --> + <string name="preference_mobile_data_allowed"><xliff:g id="preference">"preference_mobile_data_enabled"</xliff:g></string> + <!-- NOTR --> + <string name="preference_registration_token"><xliff:g id="preference">"preference_registration_token"</xliff:g></string> + <!-- NOTR --> + <string name="preference_device_pairing_successful_time"><xliff:g id="preference">"preference_device_pairing_successful_time"</xliff:g></string> + <!-- NOTR --> + <string name="preference_initial_tracing_activation_time"><xliff:g id="preference">"preference_initial_tracing_activation_time"</xliff:g></string> + <!-- NOTR --> + <string name="preference_initial_result_received_time"><xliff:g id="preference">"preference_initial_result_received_time"</xliff:g></string> + <!-- NOTR --> + <string name="preference_risk_level_score"><xliff:g id="preference">"preference_risk_level_score"</xliff:g></string> + <!-- NOTR --> + <string name="preference_risk_level_score_successful"><xliff:g id="preference">"preference_risk_level_score_successful"</xliff:g></string> + <!-- NOTR --> + <string name="preference_timestamp_risk_level_calculation"><xliff:g id="preference">"preference_timestamp_risk_level_calculation"</xliff:g></string> + <!-- NOTR --> + <string name="preference_test_guid"><xliff:g id="preference">"preference_test_guid"</xliff:g></string> + <!-- NOTR --> + <string name="preference_is_allowed_to_submit_diagnosis_keys"><xliff:g id="preference">"preference_is_allowed_to_submit_diagnosis_keys"</xliff:g></string> + <!-- NOTR --> + <string name="preference_auth_code"><xliff:g id="preference">"preference_auth_code"</xliff:g></string> + <!-- NOTR --> + <string name="preference_database_password"><xliff:g id="preference">"preference_database_password"</xliff:g></string> + <!-- NOTR --> + <string name="preference_total_non_active_tracing"><xliff:g id="preference">"preference_total_non_active_tracing"</xliff:g></string> + <!-- NOTR --> + <string name="preference_last_non_active_tracing_timestamp"><xliff:g id="preference">"preference_last_non_active_tracing_timestamp"</xliff:g></string> + <!-- NOTR --> + <string name="preference_number_successful_submissions"><xliff:g id="preference">"preference_number_successful_submissions"</xliff:g></string> + <!-- NOTR --> + <string name="preference_teletan"><xliff:g id="preference">"preference_teletan"</xliff:g></string> + <!-- NOTR --> + <string name="preference_last_three_hours_from_server"><xliff:g id="preference">"preference_last_three_hours_from_server"</xliff:g></string> + <!-- NOTR --> + <string name="preference_polling_test_result_started"><xliff:g id="preference">"preference_polling_test_result_started"</xliff:g></string> + <!-- NOTR --> + <string name="preference_test_result_notification"><xliff:g id="preference">"preference_test_result_notification"</xliff:g></string> + + <!-- #################################### + Generics + ###################################### --> + + <!-- XACT: back description for screen readers --> + <string name="accessibility_back">"ÃŽnapoi"</string> + <!-- XACT: next description for screen readers --> + <string name="accessibility_next">"ÃŽnainte"</string> + <!-- XACT: menu description for screen readers --> + <string name="accessibility_menu">"Meniu"</string> + <!-- XACT: menu description for screen readers --> + <string name="accessibility_close">"ÃŽnchidere"</string> + <!-- XACT: menu description for screen readers --> + <string name="accessibility_logo">"Corona-Warn-App"</string> + <!-- XACT: button description for screen readers to be appended at the end of content without focusable subcontent that are explored by touch --> + <string name="accessibility_button">"Buton"</string> + + <!-- #################################### + Menu + ###################################### --> + + <!-- XMIT: application overview --> + <string name="menu_help">"Sumar"</string> + <!-- XMIT: application information --> + <string name="menu_information">"InformaÈ›ii despre aplicaÈ›ie"</string> + <!-- XMIT: application settings --> + <string name="menu_settings">"Setări"</string> + + <!-- #################################### + Notification + ###################################### --> + <!-- NOTR --> + <string name="notification_channel_id"><xliff:g id="notification_channel_id">"de.rki.coronawarnapp.notification.exposureNotificationChannelId"</xliff:g></string> + <!-- NOTR --> + <string name="notification_id"><xliff:g id="notification_id">"1"</xliff:g></string> + <!-- XTXT: Notification channel name for os settings --> + <string name="notification_name">"Corona-Warn-App"</string> + <!-- XTXT: Notification channel description for os settings --> + <string name="notification_description">"Notificări de la aplicaÈ›ia Corona-Warn"</string> + <!-- XHED: Notification title --> + <string name="notification_headline">"Corona-Warn-App"</string> + <!-- XTXT: Notification body --> + <string name="notification_body">"AveÈ›i mesaje noi de la aplicaÈ›ia Corona-Warn."</string> + + <!-- #################################### + App Auto Update + ###################################### --> + + <!-- XHED: App Auto Update dialog title --> + <string name="update_dialog_title">"Actualizare disponibilă"</string> + <!-- XTXT: App Auto Update dialog message --> + <string name="update_dialog_message">"ReÈ›ineÈ›i că puteÈ›i utiliza din nou Corona-Warn-App doar după ce aÈ›i instalat ultima actualizare."</string> + <!-- XBUT: App Auto Update button --> + <string name="update_dialog_button">"Actualizare"</string> + + <!-- #################################### + Risk Card + ###################################### --> + + <!-- XTXT: risk card - no contact yet --> + <string name="risk_card_body_contact">"Nicio expunere până acum"</string> + <!-- XTXT: risk card - number of contacts for one or more --> + <plurals name="risk_card_body_contact_value"> + <item quantity="one">"%1$s expunere"</item> + <item quantity="other">"%1$s de expuneri"</item> + <item quantity="zero">"%1$s expuneri"</item> + <item quantity="two">"%1$s expuneri"</item> + <item quantity="few">"%1$s expuneri"</item> + <item quantity="many">"%1$s expuneri"</item> + </plurals> + <!-- XTXT: risk card - tracing active for x out of 14 days --> + <string name="risk_card_body_saved_days">"%1$s din 14 zile activă"</string> + <!-- XTXT; risk card - no update done yet --> + <string name="risk_card_body_not_yet_fetched">"ÃŽntâlnirile nu au fost încă verificate."</string> + <!-- XTXT: risk card - last successful update --> + <string name="risk_card_body_time_fetched">"Actualizată: %1$s"</string> + <!-- XTXT: risk card - next update --> + <string name="risk_card_body_next_update">"Actualizată zilnic"</string> + <!-- XBUT: risk card - update risk --> + <string name="risk_card_button_update">"Actualizare"</string> + <!-- XBUT: risk card - update risk with time display --> + <string name="risk_card_button_cooldown">"Actualizare în %1$s"</string> + <!-- XBUT: risk card - activate tracing --> + <string name="risk_card_button_enable_tracing">"ActivaÈ›i înregistrarea în jurnal a expunerilor"</string> + <!-- XTXT: risk card - tracing is off, user should activate to get an updated risk level --> + <string name="risk_card_body_tracing_off">"ActivaÈ›i înregistrarea în jurnal a expunerilor pentru a evalua astăzi starea riscului."</string> + <!-- XHED: risk card - low risk headline --> + <string name="risk_card_low_risk_headline">"Risc redus"</string> + <!-- XHED: risk card - increased risk headline --> + <string name="risk_card_increased_risk_headline">"Risc mai mare"</string> + <!-- XTXT: risk card - increased risk days since last contact --> + <plurals name="risk_card_increased_risk_body_contact_last"> + <item quantity="one">"%1$s zi de la ultima întâlnire"</item> + <item quantity="other">"%1$s de zile de la ultima întâlnire"</item> + <item quantity="zero">"%1$s zile de la ultima întâlnire"</item> + <item quantity="two">"%1$s zile de la ultima întâlnire"</item> + <item quantity="few">"%1$s zile de la ultima întâlnire"</item> + <item quantity="many">"%1$s zile de la ultima întâlnire"</item> + </plurals> + <!-- XHED: risk card - unknown risk headline --> + <string name="risk_card_unknown_risk_headline">"Risc necunoscut"</string> + <!-- XTXT: risk card - tracing isn't active long enough, so a new risk level can't be calculated --> + <string name="risk_card_unknown_risk_body">"Deoarece nu aÈ›i activat un timp suficient de lung înregistrarea în jurnal a expunerilor, nu am putut calcula riscul dvs. de infectare."</string> + <!-- XHED: risk card - tracing stopped headline, due to no possible calculation --> + <string name="risk_card_no_calculation_possible_headline">"ÃŽnregistrarea în jurnal a expunerilor a fost oprită"</string> + <!-- XTXT: risk card - last successfully calculated risk level --> + <string name="risk_card_no_calculation_possible_body_saved_risk">"Ultima înregistrare în jurnal a expunerilor:"<xliff:g id="line_break">"\n"</xliff:g>"%1$s"</string> + <!-- XHED: risk card - outdated risk headline, calculation isn't possible --> + <string name="risk_card_outdated_risk_headline">"ÃŽnregistrarea în jurnal a expunerilor nu este posibilă"</string> + <!-- XTXT: risk card - outdated risk, calculation couldn't be updated in the last 24 hours --> + <string name="risk_card_outdated_risk_body">"ÃŽnregistrarea în jurnal a expunerilor dvs. nu a putut fi actualizată timp de peste 24 de ore."</string> + <!-- XTXT: risk card - outdated risk manual, calculation couldn't be updated in the last 48 hours --> + <string name="risk_card_outdated_manual_risk_body">"Starea riscului dvs. nu a fost actualizată timp de peste 48 de ore. Vă rugăm să activaÈ›i starea riscului dvs."</string> + <!-- XHED: risk card - loading headline, update is ongoing --> + <string name="risk_card_loading_headline">"Verificarea este în curs…"</string> + <!-- XTXT: risk card - loading, data is downloaded and will be checked, this can take several minutes --> + <string name="risk_card_loading_body">"Datele curente sunt în curs de descărcare.\nAceasta poate dura mai multe minute."</string> + + <!-- #################################### + Main + ###################################### --> + + <!-- XHED: main, FAQ --> + <string name="main_about_headline">"ÃŽntrebări frecvente"</string> + <!-- XTXT: main, explains faq on card --> + <string name="main_about_body">"Aici puteÈ›i găsi răspunsuri la întrebările frecvente legate de aplicaÈ›ia Corona-Warn. VeÈ›i fi redirecÈ›ionat către un site web extern."</string> + <!-- XTXT: FAQ link, should be translated --> + <string name="main_about_link">"https://www.bundesregierung.de/corona-warn-app-faq-englisch"</string> + <!-- XACT: Opens external webpage --> + <string name="hint_external_webpage">"Aici puteÈ›i găsi răspunsuri la întrebările frecvente legate de aplicaÈ›ia Corona-Warn. VeÈ›i fi redirecÈ›ionat către un site web extern."</string> + + <!-- #################################### + Main - Share + ###################################### --> + + <!-- XHED: Share app link page title --> + <string name="main_share_title">"PartajaÈ›i Corona-Warn-App"</string> + <!-- XHED: Share app link page subtitle --> + <string name="main_share_headline">"Să combatem împreună coronavirusul"</string> + <!-- YTXT: Share app link page body --> + <string name="main_share_body">"Cu cât aplicaÈ›ia este utilizată de mai multe persoane, cu atât mai repede putem întrerupe lanÈ›ul de infectare. InvitaÈ›i-vă familia È™i prietenii să descarce aplicaÈ›ia."</string> + <!-- XBUT: Share app link page button --> + <string name="main_share_button">"TrimiteÈ›i linkul de descărcare"</string> + <!-- YMSG: Message when sharing is executed --> + <string name="main_share_message">"Să combatem împreună coronavirusul"<xliff:g id="line_break">"\n"</xliff:g>"Eu vreau. Vrei È™i tu?"<xliff:g id="line_break">"\n"</xliff:g><xliff:g id="link_play_store">"https://www.corona-warn-app.de"</xliff:g>"\n"<xliff:g id="line_break">"\n"</xliff:g></string> + <!-- XACT: main (share) - illustraction description, explanation image --> + <string name="main_share_illustration_description">"Un bărbat partajează Corona-Warn-App cu alte patru persoane."</string> + + <!-- #################################### + Main - Overview + ###################################### --> + + <!-- XHED: App overview page title --> + <string name="main_overview_title">"Sumar"</string> + <!-- XACT: main overview page title --> + <string name="main_overview_accessibility_title">"Sumar"</string> + <!-- XHED: App overview subtitle for tracing explanation--> + <string name="main_overview_subtitle_tracing">"ÃŽnregistrarea în jurnal a expunerilor"</string> + <!-- YTXT: App overview body text about tracing --> + <string name="main_overview_body_tracing">"ÃŽnregistrarea în jurnal a expunerilor este una dintre cele trei caracteristici centrale ale aplicaÈ›iei. Când o activaÈ›i, sunt înregistrate întâlnirile cu dispozitivele altor persoane. Nu trebuie să faceÈ›i nimic altceva."</string> + <!-- XHED: App overview subtitle for risk explanation --> + <string name="main_overview_subtitle_risk">"Risc de infectare"</string> + <!-- YTXT: App overview body text about risk levels --> + <string name="main_overview_body_risk">"Dacă în ultimele 14 zile aÈ›i intrat în contact cu o persoană care a fost diagnosticată cu COVID-19, aplicaÈ›ia calculează riscul dvs. personal de infectare. Face aceasta măsurând durata È™i proximitatea expunerii."</string> + <!-- XHED: App overview subtitle for risk level list --> + <string name="main_overview_subtitle_risk_levels">"Poate fi afiÈ™ată următoarea stare a riscului:"</string> + <!-- XTXT: App overview increased risk level --> + <string name="main_overview_subtitle_increased_risk">"Risc mai mare"</string> + <!-- XTXT: App overview low risk level --> + <string name="main_overview_subtitle_low_risk">"Risc redus"</string> + <!-- XTXT: App overview unknown risk level --> + <string name="main_overview_subtitle_unknown_risk">"Risc necunoscut"</string> + <!-- XHED: App overview subtitle for test procedure explanation --> + <string name="main_overview_headline_test">"Notificarea altor utilizatori"</string> + <!-- YTXT: App overview body text about rest procedure --> + <string name="main_overview_body_test">"O altă caracteristică centrală este înregistrarea testului È™i regăsirea rezultatului. Dacă sunteÈ›i diagnosticat cu COVID-19, îi puteÈ›i notifica pe ceilalÈ›i È™i puteÈ›i întrerupe lanÈ›ul de infectare."</string> + <!-- XHED: App overview headline for glossary --> + <string name="main_overview_headline_glossary">"DefiniÈ›ii ale termenilor:"</string> + <!-- XHED: App overview subtitle for glossary key storage --> + <string name="main_overview_subtitle_glossary_tracing">"Jurnal de expuneri"</string> + <!-- YTXT: App overview body for glossary key storage --> + <string name="main_overview_body_glossary_tracing">"Lista de ID-uri aleatorii primite È™i temporare, salvate temporar în spaÈ›iul de stocare al sistemului de operare. Lista este citită când sunt verificate expunerile. Toate ID-urile aleatorii sunt È™terse automat după 14 zile."</string> + <!-- XHED: App overview subtitle for glossary risk calculation --> + <string name="main_overview_subtitle_glossary_calculation">"Verificarea expunerii"</string> + <!-- YTXT: App overview body for glossary risk calculation --> + <string name="main_overview_body_glossary_calculation">"Datele jurnalului de expuneri sunt regăsite È™i sincronizate cu infectările raportate de alÈ›i utilizatori. Verificarea expunerii este efectuată automat, aproximativ la fiecare două ore."</string> + <!-- XHED: App overview subtitle for glossary contact --> + <string name="main_overview_subtitle_glossary_contact">"Expuneri"</string> + <!-- YTXT: App overview body for glossary contact --> + <string name="main_overview_body_glossary_contact">"ÃŽntâlniri de o durată mai lungă È™i în strânsă proximitate cu persoane diagnosticare cu COVID-19."</string> + <!-- XHED: App overview subtitle for glossary notifications --> + <string name="main_overview_subtitle_glossary_notification">"Notificarea de expunere"</string> + <!-- YTXT: App overview body for glossary notifications --> + <string name="main_overview_body_glossary_notification">"AfiÈ™area expunerilor în Corona-Warn-App."</string> + <!-- XHED: App overview subtitle for glossary keys --> + <string name="main_overview_subtitle_glossary_keys">"ID-uri aleatorii"</string> + <!-- YTXT: App overview body for glossary keys --> + <string name="main_overview_body_glossary_keys">"ID-urile aleatorii sunt combinaÈ›ii de cifre È™i litere generate aleatoriu. Acestea sunt schimbate între dispozitivele aflate în proximitate strânsă. ID-urile aleatorii nu pot fi urmărite până la o persoană anume È™i sunt È™terse automat după 14 zile. Persoanele diagnosticate cu COVID-19 pot opta să trimită ID-urile aleatorii din ultimele 14 zile cu alÈ›i utilizatori ai aplicaÈ›iei."</string> + <!-- XACT: main (overview) - illustraction description, explanation image --> + <string name="main_overview_illustration_description">"Un smartphone afiÈ™ează conÈ›inut variat, numerotat de la 1 la 3."</string> + <!-- XACT: App main page title --> + <string name="main_title">"Pagina principală a aplicaÈ›iei Corona-Warn"</string> + + <!-- #################################### + Risk Details + ###################################### --> + + <!-- XHED: risk details - page title, in toolbar --> + <string name="risk_details_title">"Starea riscului dvs."</string> + <!-- XHED: risk details - headline, how a user should act --> + <string name="risk_details_headline_behavior">"InstrucÈ›iuni"</string> + <!-- XHED: risk details - multiline headline, bold, how to act correct --> + <string name="risk_details_subtitle_behavior">"Iată ce trebuie să faceÈ›i"</string> + <!-- XMSG: risk details - go/stay home, something like a bullet point --> + <string name="risk_details_behavior_body_stay_home">"Dacă este posibil, mergeÈ›i acasă È™i rămâneÈ›i în casă."</string> + <!-- XMSG: risk details - get in touch with the corresponding people, something like a bullet point --> + <string name="risk_details_behavior_body_contact_doctor">"Dacă aveÈ›i întrebări despre simptome, disponibilitatea testării sau autoizolare, contactaÈ›i:"</string> + <!-- XMSG: risk details - wash your hands, something like a bullet point --> + <string name="risk_details_behavior_body_wash_hands">"SpălaÈ›i-vă frecvent pe mâini."</string> + <!-- XMSG: risk details - wear a face mask, something like a bullet point --> + <string name="risk_details_behavior_body_wear_mask">"PurtaÈ›i o mască facială când întâlniÈ›i alte persoane."</string> + <!-- XMSG: risk details - stay 1,5 away, something like a bullet point --> + <string name="risk_details_behavior_body_stay_away">"PăstraÈ›i o distanță de cel puÈ›in 1,5 metri față de alte persoane."</string> + <!-- XMSG: risk details - cough/sneeze, something like a bullet point --> + <string name="risk_details_behavior_body_cough_sneeze">"StrănutaÈ›i sau tuÈ™iÈ›i în pliul cotului sau într-un È™erveÈ›el."</string> + <!-- XMSG: risk details - contact your doctor, bullet point --> + <string name="risk_details_behavior_increased_body_1">"Medicul de familie"</string> + <!-- XMSG: risk details - panel doctor on-call service, bullet point --> + <string name="risk_details_behavior_increased_body_2">"Serviciul general de urgență la numărul de telefon 112"</string> + <!-- XMSG: risk details - public health department, bullet point --> + <string name="risk_details_behavior_increased_body_3">"Autoritatea de sănătate publică din regiunea dvs."</string> + <!-- XHED: risk details - infection risk headline, below behaviors --> + <string name="risk_details_headline_infection_risk">"Risc de infectare"</string> + <!-- XHED: risk details - how your risk level was calculated, below behaviors --> + <string name="risk_details_subtitle_infection_risk_past">"Modul în care a fost calculat riscul dvs."</string> + <!-- XHED: risk details - how your risk level will be calculated, below behaviors --> + <string name="risk_details_subtitle_infection_risk">"Modul în care este calculat riscul dvs."</string> + <!-- XMSG: risk details - risk couldn't be calculated tracing wasn't enabled long enough, below behaviors --> + <string name="risk_details_information_body_unknown_risk">"Deoarece nu aÈ›i activat un timp suficient de lung înregistrarea în jurnal a expunerilor, nu am putut calcula riscul dvs. de infectare."</string> + <!-- XMSG: risk details - risk calculation wasn't possible for 24h, below behaviors --> + <string name="risk_details_information_body_outdated_risk">"ÃŽnregistrarea în jurnal a expunerilor dvs. nu a putut fi actualizată timp de peste 24 de ore."</string> + <!-- YTXT: risk details - low risk explanation text --> + <string name="risk_details_information_body_low_risk">"AveÈ›i un risc redus de infectare deoarece nu a fost înregistrată nicio expunere la persoane diagnosticate ulterior cu COVID-19 sau întâlnirile au fost limitate la o perioadă scurtă È™i la o distanță mai mare."</string> + <!-- YTXT: risk details - increased risk explanation text with variable for day(s) since last contact --> + <plurals name="risk_details_information_body_increased_risk"> + <item quantity="one">"AveÈ›i un risc crescut de infectare deoarece aÈ›i fost expus ultima dată acum %1$s zi pe o perioadă mai lungă de timp È™i în strânsă proximitate cu cel puÈ›in o persoană diagnosticată cu COVID-19."</item> + <item quantity="other">"AveÈ›i un risc crescut de infectare deoarece aÈ›i fost expus ultima dată acum %1$s de zile pe o perioadă mai lungă de timp È™i în strânsă proximitate cu cel puÈ›in o persoană diagnosticată cu COVID-19."</item> + <item quantity="zero">"AveÈ›i un risc crescut de infectare deoarece aÈ›i fost expus ultima dată acum %1$s zile pe o perioadă mai lungă de timp È™i în strânsă proximitate cu cel puÈ›in o persoană diagnosticată cu COVID-19."</item> + <item quantity="two">"AveÈ›i un risc crescut de infectare deoarece aÈ›i fost expus ultima dată acum %1$s zile pe o perioadă mai lungă de timp È™i în strânsă proximitate cu cel puÈ›in o persoană diagnosticată cu COVID-19."</item> + <item quantity="few">"AveÈ›i un risc crescut de infectare deoarece aÈ›i fost expus ultima dată acum %1$s zile pe o perioadă mai lungă de timp È™i în strânsă proximitate cu cel puÈ›in o persoană diagnosticată cu COVID-19."</item> + <item quantity="many">"AveÈ›i un risc crescut de infectare deoarece aÈ›i fost expus ultima dată acum %1$s zile pe o perioadă mai lungă de timp È™i în strânsă proximitate cu cel puÈ›in o persoană diagnosticată cu COVID-19."</item> + </plurals> + <!-- YTXT: risk details - risk calculation explanation --> + <string name="risk_details_information_body_notice">"Riscul dvs. de infectare este calculat pe baza datelor de înregistrare în jurnal a expunerilor (durata È™i proximitatea) la nivel local pe dispozitivul dvs. Riscul dvs. de infectare nu poate fi văzut de o altă persoană sau transmis unei alte persoane."</string> + <!-- NOTR --> + <string name="risk_details_button_update">@string/risk_card_button_update</string> + <!-- NOTR --> + <string name="risk_details_button_enable_tracing">@string/risk_card_button_enable_tracing</string> + <!-- XACT: risk details page title --> + <string name="risk_details_accessibility_title">"Starea riscului dvs."</string> + + <!-- #################################### + Onboarding + ###################################### --> + + <!-- XBUT: onboarding - forward and deny --> + <string name="onboarding_button_disable">"Nu activaÈ›i"</string> + <!-- XBUT: onboarding - forward and allow --> + <string name="onboarding_button_enable">"ActivaÈ›i"</string> + <!-- XBUT: onboarding - back and cancel --> + <string name="onboarding_button_cancel">"Anulare"</string> + <!-- XBUT: onboarding - next --> + <string name="onboarding_button_next">"ÃŽnainte"</string> + <!-- XBUT: onboarding - start --> + <string name="onboarding_button_start">"Să începem"</string> + <!-- XTXT: onboarding - back description for screen reader --> + <string name="onboarding_button_back_description">"ÃŽnapoi"</string> + <!-- XACT: Onboarding (together) page title --> + <string name="onboarding_onboarding_accessibility_title">"Pagina de înregistrare 1 din 5: Să combatem împreună coronavirusul"</string> + <!-- XHED: onboarding(together) - fight corona --> + <string name="onboarding_headline">"Să combatem împreună coronavirusul"</string> + <!-- XHED: onboarding(together) - two/three line headline under an illustration --> + <string name="onboarding_subtitle">"Mai multă protecÈ›ie pentru dvs. È™i pentru noi toÈ›i. Utilizând Corona-Warn-App putem întrerupe mai uÈ™or lanÈ›ul de infectare."</string> + <!-- YTXT: onboarding(together) - inform about the app --> + <string name="onboarding_body">"TransformaÈ›i-vă dispozitivul într-un sistem de avertizare la coronavirus. ObÈ›ineÈ›i un sumar al stării riscului È™i aflaÈ›i dacă aÈ›i intrat în contact strâns cu persoane diagnosticate cu COVID-19 în ultimele 14 zile."</string> + <!-- YTXT: onboarding(together) - explain application --> + <string name="onboarding_body_emphasized">"AplicaÈ›ia înregistrează în jurnal întâlnirile dintre persoane prin dispozitivele acestora, care schimbă ID-uri aleatorii criptate, fără a accesa niciun fel de date personale."</string> + <!-- XACT: onboarding(together) - illustraction description, header image --> + <string name="onboarding_illustration_description">"Un grup de persoane își utilizează smartphone-urile prin oraÈ™."</string> + <!-- XACT: Onboarding (privacy) page title --> + <string name="onboarding_privacy_accessibility_title">"Pagina de înregistrare 2 din 5: ConfidenÈ›ialitatea datelor. Urmează un text lung. Pentru a continua în orice moment, utilizaÈ›i butonul din partea de jos a ecranului."</string> + <!-- XHED: onboarding(privacy) - title --> + <string name="onboarding_privacy_headline">"ConfidenÈ›ialitatea datelor"</string> + + <!-- XACT: onboarding(privacy) - illustraction description, header image --> + <string name="onboarding_privacy_illustration_description">"O femeie utilizează Corona-Warn-App pe smartphone. O pictogramă care arată un lacăt pe un fundal în formă de scut simbolizează datele criptate."</string> + <!-- XACT: Onboarding (tracing) page title --> + <string name="onboarding_tracing_accessibility_title">"Pagina de înregistrare 3 din 5: Cum se activează înregistrarea în jurnal a expunerilor"</string> + <!-- XHED: onboarding(tracing) - how to enable tracing --> + <string name="onboarding_tracing_headline">"Cum se activează înregistrarea în jurnal a expunerilor"</string> + <!-- XHED: onboarding(tracing) - two/three line headline under an illustration --> + <string name="onboarding_tracing_subtitle">"Pentru a identifica dacă sunteÈ›i supus riscului de infectare, trebuie să activaÈ›i caracteristica de înregistrare în jurnal a expunerilor."</string> + <!-- YTXT: onboarding(tracing) - explain tracing --> + <string name="onboarding_tracing_body">"ÃŽnregistrarea în jurnal a expunerilor funcÈ›ionează astfel: dispozitivul dvs. primeÈ™te prin Bluetooth ID-uri aleatorii criptate ale altor utilizatori È™i transmite propriul dvs. ID aleatoriu către dispozitivele acestora. Această caracteristică poate fi oricând dezactivată."</string> + <!-- YTXT: onboarding(tracing) - explain tracing --> + <string name="onboarding_tracing_body_emphasized">"ID-urile aleatorii criptate transmit informaÈ›ii doar despre dată, durată È™i proximitatea față de alte persoane (utilizând intensitatea semnalului). Datele personale, precum numele, adresa, locaÈ›ia nu sunt înregistrate niciodată. Nu se pot identifica persoanele individuale."</string> + <!-- XHED: onboarding(tracing) - headline for consent information --> + <string name="onboarding_tracing_headline_consent">"DeclaraÈ›ie de consimțământ"</string> + <!-- YTXT: onboarding(tracing) - body for consent information --> + <string name="onboarding_tracing_body_consent">"To find out whether you have been in contact with an infected person and whether there is a risk that you yourself have been infected, you need to enable the App’s exposure logging feature. By tapping on the “Enable†button, you agree to the enabling of the App’s exposure logging feature and the associated data processing."<xliff:g id="line_break">"\n"</xliff:g><xliff:g id="line_break">"\n"</xliff:g>"In order to use the App’s exposure logging feature, you will have to enable the COVID-19 Exposure Logging functionality provided by Google on your smartphone and grant the Corona-Warn-App permission to use this."<xliff:g id="line_break">"\n"</xliff:g><xliff:g id="line_break">"\n"</xliff:g>"When exposure logging is enabled, your smartphone continuously generates and transmits random IDs via Bluetooth, which other Android or Apple smartphones in your vicinity can receive if exposure logging is also enabled on them. Your smartphone, in turn, receives the random IDs of the other smartphones. Your own random IDs and those received from other smartphones are recorded in the exposure log and stored there for 14 days."<xliff:g id="line_break">"\n"</xliff:g><xliff:g id="line_break">"\n"</xliff:g>"To identify your risk of infection, the App loads a list – several times a day or on request – of the random IDs of all users who have told the App that they have been infected with the coronavirus. This list is then compared with the random IDs stored in the exposure log. If the App detects that you may have been in contact with an infected user, it will inform you of this and tell you that there is a risk that you are also infected. In this case, the App is also given access to other data stored in your smartphone’s exposure log (date, duration and Bluetooth signal strength of the contact)."<xliff:g id="line_break">"\n"</xliff:g><xliff:g id="line_break">"\n"</xliff:g>"The Bluetooth signal strength is used to derive the physical distance (the stronger the signal, the smaller the distance). The App then analyses this information in order to assess your likelihood of having been infected with the coronavirus and to give you recommendations for what to do next. This analysis is only performed locally on your smartphone. Apart from you, nobody (not even the RKI) will know whether you have been in contact with an infected person and what risk has been identified for you."<xliff:g id="line_break">"\n"</xliff:g><xliff:g id="line_break">"\n"</xliff:g>"To withdraw your consent to the exposure logging feature, you can disable the feature using the toggle switch in the App or delete the App. If you decide to use the exposure logging feature again, you can toggle the feature back on or reinstall the App. If you disable the exposure logging feature, the App will no longer check whether you have been in contact with an infected user. If you also wish to stop your device sending and receiving random IDs, you will need to disable COVID-19 Exposure Logging in your smartphone settings. Please note that your own random IDs and those received from other smartphones which are stored in the exposure log will not be deleted in the App. You can only permanently delete the data stored in the exposure log in your smartphone settings."<xliff:g id="line_break">"\n"</xliff:g><xliff:g id="line_break">"\n"</xliff:g>"The App’s privacy notice (including an explanation of the data processing carried out for the exposure logging feature) can be found in the menu under “Data Privacy Informationâ€."</string> + <!-- XBUT: onboarding(tracing) - button enable tracing --> + <string name="onboarding_tracing_button_next">"ActivaÈ›i înregistrarea în jurnal a expunerilor"</string> + <!-- XTXT: onboarding(tracing) - dialog about tracing permission declined --> + <string name="onboarding_tracing_dialog_headline">"AutorizaÈ›ie"</string> + <!-- YMSI: onboarding(tracing) - dialog about tracing --> + <string name="onboarding_tracing_dialog_body">"Aceasta înseamnă că aplicaÈ›ia Corona-Warn nu poate trimite sau primi notificări despre starea riscului dvs. de COVID-19. PuteÈ›i oricând dezactiva această caracteristică."</string> + <!-- XBUT: onboarding(tracing) - positive button (right) --> + <string name="onboarding_tracing_dialog_button_positive">"Nu activaÈ›i"</string> + <!-- XBUT: onboarding(tracing) - negative button (right) --> + <string name="onboarding_tracing_dialog_button_negative">"ÃŽnapoi"</string> + <!-- XACT: onboarding(tracing) - illustraction description, header image --> + <string name="onboarding_tracing_illustration_description">"Trei persoane È™i-au activat pe dispozitiv înregistrarea în jurnal a expunerilor, ceea ce va duce la înregistrarea întâlnirilor lor."</string> + <!-- XHED: onboarding(tracing) - location explanation for bluetooth headline --> + <string name="onboarding_tracing_location_headline">"PermiteÈ›i accesul la locaÈ›ie"</string> + <!-- XTXT: onboarding(tracing) - location explanation for bluetooth body text --> + <string name="onboarding_tracing_location_body">"LocaÈ›ia dvs. nu poate fi accesată. Google È™i/sau Android necesită acces la locaÈ›ia dispozitivului dvs. pentru a utiliza Bluetooth-ul."</string> + <!-- XBUT: onboarding(tracing) - button enable tracing --> + <string name="onboarding_tracing_location_button">"DeschideÈ›i Setările dispozitivului"</string> + <!-- XACT: Onboarding (test) page title --> + <string name="onboarding_test_accessibility_title">"Pagina de înregistrare 4 din 5: Dacă sunteÈ›i diagnosticat cu COVID-19…"</string> + <!-- XHED: onboarding(test) - about positive tests --> + <string name="onboarding_test_headline">"Dacă sunteÈ›i diagnosticat cu COVID-19…"</string> + <!-- XHED: onboarding(test) - two/three line headline under an illustration --> + <string name="onboarding_test_subtitle">"… vă rugăm să raportaÈ›i acest lucru în Corona-Warn-App. ÃŽmpărtășirea rezultatului testului este voluntară È™i securizată. Vă rugăm să faceÈ›i acest lucru pentru binele celorlalÈ›i."</string> + <!-- YTXT: onboarding(test) - explain test --> + <string name="onboarding_test_body">"Notificarea dvs. este criptată în mod securizat È™i este prelucrată pe un server sigur. Persoanele ale căror ID-uri aleatorii criptate au fost colectate de dispozitivul dvs. vor primi acum o avertizare împreună cu informaÈ›ii despre paÈ™ii de urmat."</string> + <!-- XACT: onboarding(test) - illustraction description, header image --> + <string name="onboarding_test_illustration_description">"Un diagnostic de test pozitiv criptat este transmis la sistem, iar acesta va avertiza apoi ceilalÈ›i utilizatori."</string> + <!-- XACT: Onboarding (datashare) page title --> + <string name="onboarding_notifications_accessibility_title">"Pagina de înregistrare 5 din 5: PrimiÈ›i avertizări È™i identificaÈ›i riscurile"</string> + <!-- XHED: onboarding(datashare) - about positive tests --> + <string name="onboarding_notifications_headline">"PrimiÈ›i avertizări È™i identificaÈ›i riscurile"</string> + <!-- XHED: onboarding(datashare) - two/three line headline under an illustration --> + <string name="onboarding_notifications_subtitle">"AplicaÈ›ia vă poate notifica automat despre starea riscului dvs. È™i vă poate avertiza despre noi infectări ale persoanelor la care aÈ›i fost expus. PermiteÈ›i-i acum aplicaÈ›iei să vă notifice."</string> + <!-- YTXT: onboarding(datashare) - explain test --> + <string name="onboarding_notifications_body">"Apoi vă puteÈ›i autoizola pentru a-i proteja pe ceilalÈ›i È™i aflaÈ›i unde puteÈ›i face testul."</string> + <!-- XACT: onboarding(notifications) - illustraction description, header image --> + <string name="onboarding_notifications_illustration_description">"O femeie primeÈ™te o notificare de la Corona-Warn-App."</string> + + <!-- #################################### + Settings + ###################################### --> + + <!-- XHED: settings - settings overview page title --> + <string name="settings_title">"Setări"</string> + <!-- XTXT: settings - on, like a label next to a setting --> + <string name="settings_on">"Pornită"</string> + <!-- XTXT: settings - off, like a label next to a setting --> + <string name="settings_off">"Oprită"</string> + <!-- XHED: settings(tracing) - page title --> + <string name="settings_tracing_title">"ÃŽnregistrarea în jurnal a expunerilor"</string> + <!-- XHED: settings(tracing) - headline bellow illustration --> + <string name="settings_tracing_headline">"Modul în care funcÈ›ionează înregistrarea în jurnal a expunerilor"</string> + <!-- XTXT: settings(tracing) - explain text in settings overview under headline --> + <string name="settings_tracing_body_description">"PermiteÈ›i generarea È™i trimiterea de ID-uri aleatorii de COVID-19."</string> + <!-- XTXT: settings(tracing) - shows status under header in home, active --> + <string name="settings_tracing_body_active">"ÃŽnregistrarea în jurnal a expunerilor este activă"</string> + <!-- XTXT: settings(tracing) - shows status under header in home, inactive --> + <string name="settings_tracing_body_inactive">"ÃŽnregistrarea în jurnal a expunerilor a fost oprită"</string> + <!-- YTXT: settings(tracing) - explains tracings --> + <string name="settings_tracing_body_text">"ÃŽnregistrarea în jurnal a expunerilor funcÈ›ionează astfel: dispozitivul dvs. primeÈ™te prin Bluetooth ID-uri aleatorii criptate ale altor utilizatori È™i transmite propriul dvs. ID aleatoriu către dispozitivele acestora. Această caracteristică poate fi oricând dezactivată. "<xliff:g id="line_break">"\n"</xliff:g><xliff:g id="line_break">"\n"</xliff:g>"ID-urile aleatorii criptate transmit informaÈ›ii doar despre dată, durată È™i proximitatea față de alte persoane (calculate utilizând intensitatea semnalului). Datele personale, precum numele, adresa È™i locaÈ›ia nu sunt înregistrate niciodată. Nu se pot identifica persoanele individuale."</string> + <!-- XTXT: settings(tracing) - status next to switch under title --> + <string name="settings_tracing_status_active">"Activă"</string> + <!-- XTXT: settings(tracing) - status next to switch under title --> + <string name="settings_tracing_status_inactive">"Oprită"</string> + <!-- XTXT: settings(tracing) - status next to switch under title --> + <string name="settings_tracing_status_restricted">"RestricÈ›ionată"</string> + <!-- XTXT: settings(tracing) - shows status under header in home, no internet --> + <string name="settings_tracing_body_connection_inactive">"Fără conexiune la internet"</string> + <!-- XTXT: settings(tracing) - shows status under header in home, no bluetooth --> + <string name="settings_tracing_body_bluetooth_inactive">"Bluetooth dezactivat"</string> + <!--XHED : settings(tracing) - headline on card about the current status and what to do --> + <string name="settings_tracing_status_bluetooth_headline">"ActivaÈ›i Bluetooth-ul"</string> + <!-- XTXT: settings(tracing) - explains user what to do on card if bluetooth is disabled --> + <string name="settings_tracing_status_bluetooth_body">"Bluetooth-ul trebuie să fie activat pentru ca înregistrarea în jurnal a expunerilor să poate înregistra întâlnirile. ActivaÈ›i Bluetooth-ul din setările dispozitivului."</string> + <!-- XBUT: settings(tracing) - go to operating system settings button on card --> + <string name="settings_tracing_status_bluetooth_button">"DeschideÈ›i Setările dispozitivului"</string> + <!--XHED : settings(tracing) - headline on card about the current status and what to do --> + <string name="settings_tracing_status_connection_headline">"DeschideÈ›i conexiunea la internet"</string> + <!-- XTXT: settings(tracing) - explains user what to do on card if connection is disabled --> + <string name="settings_tracing_status_connection_body">"ÃŽnregistrarea în jurnal a expunerilor necesită conexiunea la internet pentru a calcula expunerile. PorniÈ›i reÈ›eaua Wi-Fi sau datele mobile din setările dispozitivului dvs."</string> + <!-- XBUT: settings(tracing) - go to operating system settings button on card --> + <string name="settings_tracing_status_connection_button">"DeschideÈ›i Setările dispozitivului"</string> + <!-- XTXT: settings(tracing) - explains the circle progress indicator to the right with the current value --> + <plurals name="settings_tracing_status_body_active"> + <item quantity="one">"ÃŽnregistrarea în jurnal a expunerilor a fost activă o zi.\nO verificare a expunerii poate fi de încredere doar dacă înregistrarea în jurnal a expunerilor este activată permanent."</item> + <item quantity="other">"ÃŽnregistrarea în jurnal a expunerilor a fost activă %1$s de zile.\nO verificare a expunerii poate fi de încredere doar dacă înregistrarea în jurnal a expunerilor este activată permanent."</item> + <item quantity="zero">"ÃŽnregistrarea în jurnal a expunerilor a fost activă %1$s zile.\nO verificare a expunerii poate fi de încredere doar dacă înregistrarea în jurnal a expunerilor este activată permanent."</item> + <item quantity="two">"ÃŽnregistrarea în jurnal a expunerilor a fost activă %1$s zile.\nO verificare a expunerii poate fi de încredere doar dacă înregistrarea în jurnal a expunerilor este activată permanent."</item> + <item quantity="few">"ÃŽnregistrarea în jurnal a expunerilor a fost activă %1$s zile.\nO verificare a expunerii poate fi de încredere doar dacă înregistrarea în jurnal a expunerilor este activată permanent."</item> + <item quantity="many">"ÃŽnregistrarea în jurnal a expunerilor a fost activă %1$s zile.\nO verificare a expunerii poate fi de încredere doar dacă înregistrarea în jurnal a expunerilor este activată permanent."</item> + </plurals> + <!-- XACT: settings(tracing) - describes illustration --> + <string name="settings_tracing_illustration_description_active">"Trei persoane È™i-au activat pe dispozitiv înregistrarea în jurnal a expunerilor, ceea ce va duce la înregistrarea întâlnirilor lor."</string> + <!-- XACT: settings(tracing) - describes illustration --> + <string name="settings_tracing_illustration_description_inactive">"O persoană È™i-a dezactivat de pe smartphone înregistrarea în jurnal a expunerilor È™i, prin urmare, întâlnirea cu alte două persoane nu este înregistrată."</string> + <!-- XACT: settings(tracing) - describes illustration --> + <string name="settings_tracing_bluetooth_illustration_description_inactive">"O persoană È™i-a oprit Bluetooth-ul pe smartphone È™i, prin urmare, întâlnirea cu alte două persoane nu este înregistrată."</string> + <!-- XACT: settings(tracing) - describes illustration --> + <string name="settings_tracing_connection_illustration_description_inactive">"O persoană È™i-a oprit Internetul pe smartphone È™i, prin urmare, întâlnirea cu alte două persoane nu este înregistrată."</string> + + <!-- XHED: settings(notification) - notification page title --> + <string name="settings_notifications_title">"Notificări"</string> + <!-- XHED: settings(notification) - multiline headline below illustration, active --> + <string name="settings_notifications_headline_active">"DoriÈ›i să activaÈ›i notificările privind starea riscului de COVID-19?"</string> + <!-- XHED: settings(notification) - multiline headline below illustration, inactive --> + <string name="settings_notifications_headline_inactive">"Notificările sunt dezactivate"</string> + <!-- XTXT: settings(notification) - text in row on settings overview --> + <string name="settings_notifications_body_description">"PermiteÈ›i notificările automate privind starea riscului dvs. de COVID-19."</string> + <!-- YTXT: settings(notification) - description text when it notifications are enabled --> + <string name="settings_notifications_body_active">"SpecificaÈ›i zonele pentru care doriÈ›i să continuaÈ›i să primiÈ›i notificări."</string> + <!-- XTXT: settings(notification) - explains what the user has to do to activate settings --> + <string name="settings_notifications_body_inactive">"Pentru a activa notificările, trebuie să permiteÈ›i notificările pentru Corona-Warn-App în setările dispozitivului."</string> + <!-- XHED: settings(notification) - card headline --> + <string name="settings_notifications_headline_card">"ActivaÈ›i Notificările"</string> + <!-- XHED: settings - notification headline on settings overview --> + <string name="settings_notifications_subtitle_notification">"Notificări"</string> + <!-- XTXT: settings(notification) - next to a switch --> + <string name="settings_notifications_subtitle_update_risk">"Riscul dvs. de infectare s-a modificat"</string> + <!-- XTXT: settings(notification) - next to a switch --> + <string name="settings_notifications_subtitle_update_test">"Starea testului COVID-19"</string> + <!-- XBUT: settings(notification) - go to operating settings --> + <string name="settings_notifications_button_open_settings">"DeschideÈ›i Setările dispozitivului"</string> + <!-- XACT: main (overview) - illustraction description, explanation image, displays notificatin status, active --> + <string name="settings_notifications_illustration_description_active">"O femeie primeÈ™te o notificare de la Corona-Warn-App."</string> + <!-- XACT: main (overview) - illustraction description, explanation image, displays notificatin status, inactive --> + <string name="settings_notifications_illustration_description_inactive">"O femeie a dezactivat notificările pentru Corona-Warn-App."</string> + <!-- XBUT: settings - go to reset application --> + <string name="settings_reset_title">"ResetaÈ›i aplicaÈ›ia"</string> + <!-- XTXT: settings(reset) - explains the user what do expect when he navigates to reset --> + <string name="settings_reset_body_description">"ȘtergeÈ›i toate datele dvs. din aplicaÈ›ie."</string> + <!-- XHED: settings(reset) - multiline headline below illustration --> + <string name="settings_reset_headline">"Sigur doriÈ›i să resetaÈ›i aplicaÈ›ia?"</string> + <!-- XTXT: settings(reset) - explains the consequences --> + <string name="settings_reset_body">"Nu veÈ›i mai fi notificat cu privire la expunerile dvs. È™i nu-i veÈ›i mai putea avertiza pe ceilalÈ›i utilizatori."</string> + <!-- XHED: settings(reset) - on card, explains user to go to the operating system settings --> + <string name="settings_reset_headline_keys">"ȘtergeÈ›i jurnalul "<xliff:g id="line_break">"\n"</xliff:g>"de expuneri"</string> + <!-- XTXT: settings(reset) - on card --> + <string name="settings_reset_body_keys">"Jurnalul de expuneri trebuie È™ters separat din setările dispozitivului."</string> + <!-- XBUT: settings(reset) - triggers reset --> + <string name="settings_reset_button_positive">"ResetaÈ›i aplicaÈ›ia"</string> + <!-- XBUT: settings(reset) - cancel reset and navigates the suer back to the settings --> + <string name="settings_reset_button_negative">"Anulare"</string> + <!-- XACT: main (overview) - illustraction description, explanation image --> + <string name="settings_reset_illustration_description">"O mână È›ine un smartphone pe care este afiÈ™at un simbol care indică resetarea aplicaÈ›iei."</string> + <!-- XHED: settings(reset) - dialog headline --> + <string name="settings_reset_dialog_headline">"ResetaÈ›i aplicaÈ›ia"</string> + <!-- XTXT: settings(reset) - dialog content --> + <string name="settings_reset_dialog_body">"Nu veÈ›i mai fi notificat cu privire la expunerile dvs. È™i nu-i veÈ›i mai putea avertiza pe ceilalÈ›i utilizatori. Această procedură nu poate fi anulată."</string> + <!-- XBUT: settings(reset) - dialog cancel --> + <string name="settings_reset_dialog_button_cancel">"Anulare"</string> + <!-- XBUT: settings(reset) - dialog confirm --> + <string name="settings_reset_dialog_button_confirm">"Resetare"</string> + <!-- XHED: settings(background priority) - notification page title --> + <string name="settings_background_priority_title">"Activitate în fundal cu prioritate"</string> + <!-- XTXT: settings(background priority) - text in row on settings overview --> + <string name="settings_background_priority_body_description">"PermiteÈ›i actualizări automate privind starea riscului"</string> + <!-- XHED: settings(background priority) - multiline headline below illustration --> + <string name="settings_background_priority_headline">"RulaÈ›i aplicaÈ›ia Corona-Warn în fundal"</string> + <!-- YTXT: settings(background priority) - description text --> + <string name="settings_background_priority_body">"AplicaÈ›ia Corona-Warn rulează permanent în fundal dacă activaÈ›i Activitate în fundal cu prioritate. Aceasta permite aplicaÈ›iei să determine starea riscului dvs. în orice moment."</string> + <!-- XACT: settings(background priority) - illustraction description --> + <string name="settings_background_priority_illustration_description">@string/lorem_ipsum</string> + <!-- XTXT: settings(background priority) - explains user what to do on card if background priority is enabled --> + <string name="settings_background_priority_card_body">@string/lorem_ipsum</string> + <!-- XBUT: settings(background priority) - go to operating system settings button on card --> + <string name="settings_background_priority_card_button">@string/lorem_ipsum</string> + <!-- XHED : settings(background priority) - headline on card about the current status and what to do --> + <string name="settings_background_priority_card_headline">@string/lorem_ipsum</string> + + <!-- #################################### + App Information + ###################################### --> + + <!-- XHED: Page title for menu information page --> + <string name="information_title">"InformaÈ›ii despre aplicaÈ›ie"</string> + <!-- XTXT: Version information text --> + <string name="information_version">"Versiune: %1s"</string> + <!-- XHED: Page title for about information page, also menu item / button text --> + <string name="information_about_title">"Despre aplicaÈ›ie"</string> + <!-- XHED: Subtitle for about information page --> + <string name="information_about_headline">"Să combatem împreună coronavirusul"</string> + <!-- YTXT: Body text for about information page --> + <string name="information_about_body_emphasized">"Robert Koch Institute (RKI) este un organism federal de sănătate publică din Germania. RKI a publicat aplicaÈ›ia Corona-Warn în numele Guvernului Federal. AplicaÈ›ia reprezintă extinderea digitală a măsurilor de sănătate publică deja introduse: distanÈ›area socială, igiena È™i purtarea măștii."</string> + <!-- YTXT: Body text for about information page --> + <string name="information_about_body">"Persoanele care utilizează aplicaÈ›ia ajută la urmărirea È™i întreruperea lanÈ›urilor de infectare. AplicaÈ›ia salvează local, pe dispozitivul dvs., întâlnirile cu alte persoane. SunteÈ›i notificat dacă aÈ›i întâlnit persoane care au fost diagnosticate ulterior cu COVID-19. Identitatea È™i confidenÈ›ialitatea dvs. sunt protejate întotdeauna."</string> + <!-- XACT: describes illustration --> + <string name="information_about_illustration_description">"Un grup de persoane își utilizează smartphone-urile prin oraÈ™."</string> + <!-- XHED: Page title for privacy information page, also menu item / button text --> + <string name="information_privacy_title">"ConfidenÈ›ialitatea datelor"</string> + <!-- XACT: describes illustration --> + <string name="information_privacy_illustration_description">"O femeie utilizează Corona-Warn-App pe smartphone. O pictogramă care arată un lacăt pe un fundal în formă de scut simbolizează datele criptate."</string> + <!-- XTXT: Path to the full blown privacy html, to translate it exchange "_de" to "_en" and provide the corresponding html file --> + <string name="information_privacy_html_path">"privacy_en.html"</string> + <!-- XHED: Page title for terms of use information page, also menu item / button text --> + <string name="information_terms_title">"CondiÈ›ii de utilizare"</string> + <!-- XHED: Page headline for terms of use information page --> + <string name="information_terms_headline">"ConÈ›inut"</string> + <!-- XACT: describes illustration --> + <string name="information_terms_illustration_description">"O mână È›ine un smartphone pe al cărui ecran este afiÈ™at un corp mare de text. Lângă text apare o bifă care simbolizează acceptarea condiÈ›iilor de utilizare."</string> + <!-- XTXT: Path to the full blown terms html, to translate it exchange "_de" to "_en" and provide the corresponding html file --> + <string name="information_terms_html_path">"terms_en.html"</string> + <!-- XHED: Page title for technical contact and hotline information page, also menu item / button text --> + <string name="information_contact_title">"Hotline tehnic"</string> + <!-- XHED: Subtitle for technical contact and hotline information page --> + <string name="information_contact_headline">"Cum vă putem ajuta?"</string> + <!-- YTXT: Body text for technical contact and hotline information page --> + <string name="information_contact_body">"Pentru întrebări tehnice despre aplicaÈ›ia Corona-Warn, contactaÈ›i hotline-ul."</string> + <!-- XHED: Subtitle for technical contact and hotline information page --> + <string name="information_contact_subtitle_phone">"Hotline tehnic:"</string> + <!-- XLNK: Button / hyperlink to phone call for technical contact and hotline information page --> + <string name="information_contact_button_phone">"+49 800 7540001"</string> + <!-- XBUT: CAUTION - ONLY UPDATE THE NUMBER IF NEEDED, ONLY NUMBERS AND NO SPECIAL CHARACTERS EXCEPT "+" and "space" ALLOWED IN THIS FIELD; --> + <string name="information_contact_phone_call_number">"+49 800 7540001"</string> + <!-- XTXT: Body text for technical contact and hotline information page --> + <string name="information_contact_body_phone">"Serviciul clienÈ›i vă stă la dispoziÈ›ie."</string> + <!-- YTXT: Body text for technical contact and hotline information page --> + <string name="information_contact_body_open">"Limbi: germană, engleză, turcă\nProgram de lucru:"<xliff:g id="line_break">"\n"</xliff:g>"luni - sâmbătă: 07:00 - 22:00"<xliff:g id="line_break">"\n(exceptând sărbătorile legale)"</xliff:g><xliff:g id="line_break">"\nApelul este gratuit."</xliff:g></string> + <!-- YTXT: Body text for technical contact and hotline information page --> + <string name="information_contact_body_other">"Dacă aveÈ›i întrebări legate de starea de sănătate, vă rugăm să contactaÈ›i medicul de familie sau hotline-ul pentru servicii medicale de urgență, la numărul de telefon: 112."</string> + <!-- XACT: describes illustration --> + <string name="information_contact_illustration_description">"Un bărbat poartă căști în timpul unei convorbiri telefonice."</string> + <!-- XLNK: Menu item / hyper link / button text for navigation to FAQ website --> + <string name="information_help_title">"ÃŽntrebări frecvente"</string> + <!-- XACT: accessibility hint --> + <string name="information_help_title_accessibility">"ÃŽntrebări frecvente. VeÈ›i fi redirecÈ›ionat către un site web extern."</string> + <!-- XHED: Page title for technical information page, also menu item / button text --> + <string name="information_technical_title">"MenÈ›iuni legale"</string> + <!-- XACT: describes illustration --> + <string name="information_technical_illustration_description">"O mână È›ine un smartphone pe al cărui ecran este afiÈ™at un corp mare de text. Lângă text este afiÈ™at un cântar care simbolizează menÈ›iunile legale."</string> + <!-- XTXT: Path to the full blown legal html, to translate it exchange "_de" to "_en" and provide the corresponding html file --> + <string name="information_technical_html_path">"technical_en.html"</string> + <!-- XHED: Page title for legal information page, also menu item / button text --> + <string name="information_legal_title">"InformaÈ›ii de contact"</string> + <!-- XHED: Headline for legal information page, publisher section --> + <string name="information_legal_headline_publisher">"Publicată de"</string> + <!-- YTXT: subtitle for legal information page, publisher section --> + <string name="information_legal_subtitle_publisher">"(responsabilă în conformitate cu § 5, alin. 1 TMG, § 55 alin. 1 RStV, DS-GVO, BDSG)"</string> + <!-- YTXT: body for legal information page, publisher section --> + <string name="information_legal_body_publisher">"Robert Koch Institute"<xliff:g id="line_break">"\n"</xliff:g>"Nordufer 20"<xliff:g id="line_break">"\n"</xliff:g>"13353 Berlin"<xliff:g id="line_break">"\n"</xliff:g><xliff:g id="line_break">"\n"</xliff:g>"reprezentată de preÈ™edintele său"</string> + <!-- XHED: Headline for legal information page, contact section --> + <string name="information_legal_headline_contact">"Contact"</string> + <!-- YTXT: subtitle for legal information page, contact section --> + <string name="information_legal_subtitle_contact">"E-mail: CoronaWarnApp@rki.de"<xliff:g id="line_break">"\n"</xliff:g>"Telefon: +49 30 18754 5100"</string> + <!-- XHED: Headline for legal information page, tax section --> + <string name="information_legal_headline_taxid">"Număr de înregistrare în scop de TVA"</string> + <!-- YTXT: subtitle for legal information page, tax section --> + <string name="information_legal_subtitle_taxid">"DE 165 893 430"</string> + <!-- XACT: describes illustration --> + <string name="information_legal_illustration_description">"O mână È›ine un smartphone pe al cărui ecran este afiÈ™at un corp mare de text. Lângă text există un simbol de secÈ›iune, reprezentând informaÈ›iile de contact."</string> + + + <!-- #################################### + Submission + ###################################### --> + + <!-- XHED: Dialog title for generic web request error --> + <string name="submission_error_dialog_web_generic_error_title">"Eroare"</string> + <!-- XMSG: Dialog body for generic web request network error with status code --> + <string name="submission_error_dialog_web_generic_network_error_body">"Conexiunea nu a putut fi stabilită (%1$d). ReîncercaÈ›i."</string> + <!-- XMSG: Dialog body for generic web request error without status code --> + <string name="submission_error_dialog_web_generic_error_body">"Conexiunea nu a putut fi stabilită. ReîncercaÈ›i."</string> + <!-- XBUT: Positive button for generic web request error --> + <string name="submission_error_dialog_web_generic_error_button_positive">"ÃŽnapoi"</string> + + <!-- XHED: Dialog title for already paired test error --> + <string name="submission_error_dialog_web_test_paired_title">"Eroare"</string> + <!-- XMSG: Dialog body for already paired test error --> + <string name="submission_error_dialog_web_test_paired_body">"Codul QR/TAN este nevalabil sau a fost deja utilizat. ReîncercaÈ›i sau contactaÈ›i hotline-ul tehnic accesând InformaÈ›ii aplicaÈ›ie -> Hotline tehnic."</string> + <!-- XBUT: Positive button for already paired test error --> + <string name="submission_error_dialog_web_test_paired_button_positive">"ÃŽnapoi"</string> + + <!-- XHED: Dialog title for could not create submission tan --> + <string name="submission_error_dialog_web_paring_invalid_title">"Eroare"</string> + <!-- XMSG: Dialog body for could not create submission tan --> + <string name="submission_error_dialog_web_paring_invalid_body">"Un cod TAN de transmis nu a putut fi generat. ContactaÈ›i hotline-ul tehnic accesând InformaÈ›ii aplicaÈ›ie -> Hotline tehnic."</string> + <!-- XBUT: Positive button for could not create submission tan --> + <string name="submission_error_dialog_web_paring_invalid_button_positive">"ÃŽnapoi"</string> + + <!-- XHED: Dialog title for submission tan invalid --> + <string name="submission_error_dialog_web_tan_invalid_title">"Eroare"</string> + <!-- XMSG: Dialog body for submission tan invalid --> + <string name="submission_error_dialog_web_tan_invalid_body">"Un cod TAN de transmis nu a putut fi generat. ContactaÈ›i hotline-ul tehnic accesând InformaÈ›ii aplicaÈ›ie -> Hotline tehnic."</string> + <!-- XBUT: Positive button for submission tan invalid --> + <string name="submission_error_dialog_web_tan_invalid_button_positive">"ÃŽnapoi"</string> + + <!-- Permission Rationale Dialog --> + <!-- XHED: Dialog headline QR Scan permission rationale --> + <string name="submission_qr_code_scan_permission_rationale_dialog_headline">"Este necesară autorizaÈ›ia pentru camera foto"</string> + <!-- YTXT: Dialog Body text for QR Scan permission rationale --> + <string name="submission_qr_code_scan_permission_rationale_dialog_body">"PermiteÈ›i-i aplicaÈ›iei să utilizeze camera foto pentru a scana codul QR."</string> + <!-- XBUT: Dialog(QR Scan permission rationale) - positive button (right) --> + <string name="submission_qr_code_scan_permission_rationale_dialog_button_positive">"PermiteÈ›i"</string> + <!-- XBUT: Dialog(QR Scan permission rationale) - negative button (left) --> + <string name="submission_qr_code_scan_permission_rationale_dialog_button_negative">"Nu permiteÈ›i"</string> + + <!-- Permission Denied Dialog --> + <!-- XHED: Dialog headline QR Scan permission denied --> + <string name="submission_qr_code_scan_permission_denied_dialog_headline">"Este necesar accesul la camera foto"</string> + <!-- YTXT: Dialog Body text for QR Scan permission denied --> + <string name="submission_qr_code_scan_permission_denied_dialog_body">"ApelaÈ›i setările de sistem È™i permiteÈ›i-i aplicaÈ›iei să utilizeze camera foto pentru a scana codul QR."</string> + <!-- XBUT: Dialog(QR Scan permission denied) - button --> + <string name="submission_qr_code_scan_permission_denied_dialog_button">"OK"</string> + + <!-- QR Code Scan Invalid Dialog --> + <!-- XHED: Dialog headline for invalid QR code --> + <string name="submission_qr_code_scan_invalid_dialog_headline">"Cod QR incorect"</string> + <!-- YTXT: Dialog Body text for invalid QR code --> + <string name="submission_qr_code_scan_invalid_dialog_body">"Codul QR nu este corect. ReîncercaÈ›i."</string> + <!-- XBUT: Dialog(Invalid QR code) - positive button (right) --> + <string name="submission_qr_code_scan_invalid_dialog_button_positive">"ReîncercaÈ›i."</string> + <!-- XBUT: Dialog(Invalid QR code) - negative button (left) --> + <string name="submission_qr_code_scan_invalid_dialog_button_negative">"Anulare"</string> + + <!-- QR Code Scan Screen --> + <string name="submission_qr_code_scan_title">"PoziÈ›ionaÈ›i codul QR în cadru."</string> + <!-- YTXT: instruction text for QR code scanning --> + <string name="submission_qr_code_scan_body">"PoziÈ›ionaÈ›i codul QR în cadru."</string> + + <!-- Submission Test Result --> + <!-- XHED: Page headline for test result --> + <string name="submission_test_result_headline">"Rezultat test"</string> + <!-- XHED: Page subheadline for test result --> + <string name="submission_test_result_subtitle">"Cum funcÈ›ionează:"</string> + <!-- XHED: Page headline for results next steps --> + <string name="submission_test_result_steps_added_heading">"Test adăugat cu succes"</string> + <!-- YTXT: Body text for for results next steps --> + <string name="submission_test_result_steps_added_body">"Testul dvs. a fost stocat în Corona-Warn-App."</string> + <!-- XHED: Page headline for pending test result next steps --> + <string name="submission_test_result_pending_steps_waiting_heading">"Rezultatul testului nu este încă disponibil"</string> + <!-- YTXT: Body text for next steps section of waiting test result page --> + <string name="submission_test_result_pending_steps_waiting_body">"Rezultatul testului dvs. nu este încă disponibil."</string> + <!-- XBUT: test result pending : refresh button --> + <string name="submission_test_result_pending_refresh_button">"Actualizare"</string> + <!-- XBUT: test result pending : remove the test button --> + <string name="submission_test_result_pending_remove_test_button">"Ștergere test"</string> + <!-- XHED: Page headline for negative test result next steps --> + <string name="submission_test_result_negative_steps_negative_heading">"Rezultatul testului dvs."</string> + <!-- YTXT: Body text for next steps section of test negative result --> + <string name="submission_test_result_negative_steps_negative_body">"Rezultatul de laborator nu indică o confirmare a infecÈ›iei cu coronavirusul SARS-CoV-2.\n\nȘtergeÈ›i testul din Corona-Warn-App pentru a salva un nou cod de test aici dacă este necesar."</string> + <!-- XBUT: negative test result : remove the test button --> + <string name="submission_test_result_negative_remove_test_button">"Ștergere test"</string> + <!-- XHED: Page headline for positive test result screen --> + <string name="submission_test_result_positive_steps_positive_heading">"Rezultatul testului dvs."</string> + <!-- YTXT: Body text for next steps section of test positive result--> + <string name="submission_test_result_positive_steps_positive_body">"Rezultatul testului dvs. a fost verificat ca fiind pozitiv."</string> + <!-- XHED: Page headline for other warnings screen --> + <string name="submission_test_result_positive_steps_warning_others_heading">"Avertizarea altor persoane"</string> + <!-- YTXT: Body text for for other warnings screen--> + <string name="submission_test_result_positive_steps_warning_others_body">"TrimiteÈ›i ID-urile dvs. aleatorii din ultimele 14 zile pentru a proteja alte persoane È™i pentru a întrerupe lanÈ›ul de infectare."</string> + <!-- XBUT: positive test result : continue button --> + <string name="submission_test_result_positive_continue_button">"ÃŽnainte"</string> + <!-- XHED: Page headline for invalid test result screen --> + <string name="submission_test_result_invalid_steps_invalid_heading">"Rezultatul testului dvs."</string> + <!-- YTXT: Body text for next steps section of invalid test result--> + <string name="submission_test_result_invalid_steps_invalid_body">"A apărut o problemă la evaluarea testului dvs. ContactaÈ›i direcÈ›ia de sănătate publică pentru a afla paÈ™ii următori.\n\nȘtergeÈ›i testul din Corona-Warn-App pentru a salva un nou cod de test aici dacă este necesar."</string> + <!-- XBUT: invalid test result : remove the test button --> + <string name="submission_test_result_invalid_remove_test_button">"Ștergere test"</string> + <!-- XHED: Dialog title for tracing required dailog --> + <string name="submission_test_result_dialog_tracing_required_title">"Este necesară înregistrarea în jurnal a expunerilor"</string> + <!-- YTXT: Dialog text for tracing required dialog--> + <string name="submission_test_result_dialog_tracing_required_message">"ActivaÈ›i ÃŽnregistrarea în jurnal a expunerilor pentru a avertiza alte persoane."</string> + <!-- XBUT: tracing required : OK button --> + <string name="submission_test_result_dialog_tracing_required_button">"OK"</string> + <!-- XHED: Dialog title for test removal --> + <string name="submission_test_result_dialog_remove_test_title">"ȘtergeÈ›i testul?"</string> + <!-- YTXT: Dialog text for test removal --> + <string name="submission_test_result_dialog_remove_test_message">"Testul va fi È™ters definitiv din Corona-Warn-App È™i nu mai poate fi adăugat din nou. Această procedură nu poate fi anulată."</string> + <!-- XBUT: Positive button for test removal --> + <string name="submission_test_result_dialog_remove_test_button_positive">"Eliminare"</string> + <!-- XBUT: Negative button for test removal --> + <string name="submission_test_result_dialog_remove_test_button_negative">"Anulare"</string> + <!-- XHED: Title for test result card positive --> + <string name="submission_test_result_card_positive_title">"Pozitiv la SARS-CoV-2"</string> + <!-- YTXT: Body text for test result card positive --> + <string name="submission_test_result_card_positive_body">"AÈ›i fost diagnosticat cu virusul SARS-CoV-2."</string> + + <!-- Submission Tan --> + <!-- XHED: Page title for TAN submission pge --> + <string name="submission_tan_title">"Intrare TAN"</string> + <!-- YTXT: Body text for the tan submission page --> + <string name="submission_tan_body">"IntroduceÈ›i codul TAN din 10 cifre pe care l-aÈ›i primit."</string> + <!-- XBUT: Submit TAN button --> + <string name="submission_tan_button_text">"ÃŽnainte"</string> + <!-- XACT: Submission Tan page title --> + <string name="submission_tan_accessibility_title">"Intrare TAN"</string> + <!-- YTXT: Error text for the tan submission page --> + <string name="submission_tan_error">"TAN nevalabil. VerificaÈ›i intrarea."</string> + <!-- YTXT: Error text for the tan submission page (wrong characters) --> + <string name="submission_tan_character_error">"Intrare nevalabilă. VerificaÈ›i intrarea."</string> + + <!-- Submission Intro --> + <!-- XHED: Page title for menu at the start of the submission process --> + <string name="submission_intro_title">"AÈ›i fost testat?"</string> + <!-- XHED: Page headline for menu the at start of the submission process --> + <string name="submission_intro_headline">"Iată cum funcÈ›ionează Corona-Warn-App"</string> + <!-- YTXT: submission introduction text --> + <string name="submission_intro_text">"Pentru ca aplicaÈ›ia să funcÈ›ioneze bine, ne bazăm pe susÈ›inerea persoanelor care au fost diagnosticate cu COVID-19.\n\nDeoarece sunt schimbate doar ID-uri aleatorii criptate, dvs. rămâneÈ›i anonim. PuteÈ›i continua astfel:"</string> + <!-- XBUT: Submission introduction next button--> + <string name="submission_intro_button_next">"ÃŽnainte"</string> + <!-- XACT: Submission intro - illustration description, explanation image --> + <string name="submission_intro_illustration_description">"Un diagnostic de test pozitiv criptat este transmis la sistem, iar acesta va avertiza apoi ceilalÈ›i utilizatori."</string> + <!-- YTXT: submission introduction bullet points --> + <string-array name="submission_intro_bullet_points"> + <item>"Dacă aÈ›i fost diagnosticat cu COVID-19, îi puteÈ›i notifica pe ceilalÈ›i."</item> + <item>"Dacă aÈ›i primit un cod TAN pentru un diagnostic pozitiv, îl puteÈ›i utiliza pentru a înregistra testul."</item> + <item>"Dacă nu aveÈ›i un cod TAN, îl puteÈ›i solicita telefonic."</item> + </string-array> + <!-- XACT: Submission Intro page title --> + <string name="submission_intro_accessibility_title">"AÈ›i fost testat? Iată cum funcÈ›ionează Corona-Warn-App"</string> + + <!-- Dispatcher --> + <!-- XHED: Page headline for dispatcher menu --> + <string name="submission_dispatcher_headline">"SelecÈ›ie"</string> + <!-- XHED: Page subheadline for dispatcher menu --> + <string name="submission_dispatcher_subheadline">"Ce informaÈ›ii aveÈ›i?"</string> + <!-- YTXT: Dispatcher text for QR code option --> + <string name="submission_dispatcher_card_qr">"Document cu cod QR"</string> + <!-- YTXT: Body text for QR code dispatcher option --> + <string name="submission_dispatcher_qr_card_text">"ÃŽnregistraÈ›i-vă testul scanând codul QR al documentului de testare."</string> + <!-- XHED: Dialog headline for dispatcher QR prviacy dialog --> + <string name="submission_dispatcher_qr_privacy_dialog_headline">"DeclaraÈ›ie de consimțământ"</string> + <!-- YTXT: Dialog Body text for dispatcher QR privacy dialog --> + <string name="submission_dispatcher_qr_privacy_dialog_body">"By tapping on “Acceptâ€, you consent to the App querying the status of your coronavirus test and displaying it in the App. This feature is available to you if you have received a QR code and have consented to your test result being transmitted to the App’s server system. As soon as the testing lab has stored your test result on the server, you will be able to see the result in the App. If you have enabled notifications, you will also receive a notification outside the App telling you that your test result has been received. However, for privacy reasons, the test result itself will only be displayed in the App. You can withdraw this consent at any time by deleting your test registration in the App. Withdrawing your consent will not affect the lawfulness of processing before its withdrawal. Further information can be found in the menu under “Data Privacy Informationâ€."</string> + <!-- XBUT: submission(dispatcher QR Dialog) - positive button (right) --> + <string name="submission_dispatcher_qr_privacy_dialog_button_positive">"Accept"</string> + <!-- XBUT: submission(dispatcher QR Dialog) - negative button (left) --> + <string name="submission_dispatcher_qr_privacy_dialog_button_negative">"Nu accept"</string> + <!-- YTXT: Dispatcher text for TAN code option --> + <string name="submission_dispatcher_card_tan_code">"TAN"</string> + <!-- YTXT: Body text for TAN code dispatcher option --> + <string name="submission_dispatcher_tan_code_card_text">"ÃŽnregistraÈ›i-vă testul introducând manual codul TAN."</string> + <!-- YTXT: Dispatcher text for TELE-TAN option --> + <string name="submission_dispatcher_card_tan_tele">"Solicitare TAN"</string> + <!-- YTXT: Body text for TELE_TAN dispatcher option --> + <string name="submission_dispatcher_tan_tele_card_text">"SunaÈ›i-ne dacă aÈ›i fost diagnosticat cu COVID-19."</string> + <!-- XACT: Dispatcher Tan page title --> + <string name="submission_dispatcher_accessibility_title">"Ce informaÈ›ii aveÈ›i?"</string> + + <!-- Submission Positive Other Warning --> + <!-- XHED: Page title for the positive result additional warning page--> + <string name="submission_positive_other_warning_title">"Avertizarea altor persoane"</string> + <!-- XHED: Page headline for the positive result additional warning page--> + <string name="submission_positive_other_warning_headline">"Să ne ajutăm împreună!"</string> + <!-- YTXT: Body text for the positive result additional warning page--> + <string name="submission_positive_other_warning_body">"Apoi, puteÈ›i să vă asiguraÈ›i că aplicaÈ›ia Corona-Warn trimite ID-urile dvs. aleatorii din ultimele 14 zile altor persoane. Prin aceasta, puteÈ›i avertiza È™i alte persoane È™i puteÈ›i contribui la întreruperea lanÈ›ului de infectare\n\nPentru că sunt transmise doar ID-uri aleatorii impersonale, identitatea dvs. va rămâne anonimă."</string> + <!-- XHED: Title for the privacy card--> + <string name="submission_positive_other_warning_privacy_title">"ConfidenÈ›ialitatea datelor"</string> + <!-- YTXT: Body text for the privacy card--> + <string name="submission_positive_other_warning_privacy_body">"By tapping on “Acceptâ€, you consent to the App sending your positive test result to the App’s server system along with your random IDs from the last 14 days, so that other App users who have enabled the exposure logging feature can be automatically notified that they may have been exposed to a risk of infection. The random IDs transmitted for this purpose do not contain any information that would allow conclusions to be drawn about your identity or your person. \n\nTransmitting your test result via the App is voluntary. You will not be penalized if you do not transmit your test result. Since it is not possible to trace or check whether and how you use the App, nobody but you will know whether you have transmitted the information that you are infected.\n\nYou can withdraw your consent at any time by deleting the App. This withdrawal of your consent will not affect the lawfulness of the processing carried out based on the consent prior to the withdrawal. Further information can be found in the menu under “Data Privacy Informationâ€."</string> + <!-- XBUT: other warning continue button --> + <string name="submission_positive_other_warning_button">"ÃŽnainte"</string> + <!-- XACT: other warning - illustration description, explanation image --> + <string name="submission_positive_other_illustration_description">"Un dispozitiv transmite un diagnostic de test pozitiv criptat către sistem."</string> + + + <!-- Submission Done --> + <!-- XHED: Page title for completed submission page --> + <string name="submission_done_title">"Vă mulÅ£umim"</string> + <!-- YTXT: Body text for completed submission page --> + <string name="submission_done_body">"AÈ›i adus o contribuÈ›ie valoroasă. Datorită sprijinului dvs., alte persoane pot fi acum avertizate È™i pot reacÈ›iona adecvat."</string> + <!-- XHED: Page subtitle for completed submission page --> + <string name="submission_done_subtitle">"ReÈ›ineÈ›i:"</string> + <!-- YTXT: text after submission: contagious --> + <string name="submission_done_contagious">"SunteÈ›i infectat."</string> + <!-- YTXT: text after submission: isolate --> + <string name="submission_done_isolate">"IzolaÈ›i-vă de alte persoane."</string> + <!-- XHED: Title for further info --> + <string name="submission_done_further_info_title">"Alte informaÈ›ii:"</string> + <!-- YTXT: submission done further info bullet points --> + <string-array name="submission_done_further_info_bullet_points"> + <item>"Perioada de carantină este de obicei de 14 zile. ObservaÈ›i ce simptome aveÈ›i È™i monitorizaÈ›i dezvoltarea acestora."</item> + <item>"Autoritatea de sănătate publică din regiunea dvs. vă va solicita să întocmiÈ›i o listă a persoanelor cu care aÈ›i intrat în contact. Aceasta trebuie să cuprindă toate persoanele cu care aÈ›i avut contact strâns (mai puÈ›in de 2 metri, conversaÈ›ii față în față) timp de peste 15 minute începând cu două zile înainte de a prezenta simptome."</item> + <item>"LuaÈ›i în considerare în special persoanele care nu vor fi notificate direct de aplicaÈ›ie dacă nu au un smartphone sau dacă nu È™i-au instalat aplicaÈ›ia."</item> + <item>"Chiar È™i când nu mai aveÈ›i simptome È™i vă simÈ›iÈ›i din nou bine, tot puteÈ›i să fiÈ›i contagios."</item> + </string-array> + <!-- XBUT: submission finished button --> + <string name="submission_done_button_done">"Gata"</string> + <!-- XACT: submission finished - illustration description, explanation image --> + <string name="submission_done_illustration_description">"Toată lumea din grup aclamă deoarece o persoană È™i-a împărtășit rezultatul testului."</string> + + <!-- Submission Contact --> + <!-- XHED: Page title for contact page in submission flow --> + <string name="submission_contact_title">"Solicitare TAN"</string> + <!-- XHED: Page headline for contact page in submission flow --> + <string name="submission_contact_headline">"Cum funcÈ›ionează:"</string> + <!-- YTXT: Body text for contact page in submission flow--> + <string name="submission_contact_body">"Vă rugăm să aveÈ›i la îndemână rezultatul testului (dacă este disponibil) È™i numărul de telefon pentru a solicita un cod TAN."</string> + <!-- XBUT: submission contact call button --> + <string name="submission_contact_button_call">"Apelare"</string> + <!-- XBUT: submission contact enter tan button --> + <string name="submission_contact_button_enter">"IntroduceÈ›i TAN"</string> + <!-- YTXT: Body text for step 1 of contact page --> + <string name="submission_contact_step_1_body">"SunaÈ›i la hotline È™i solicitaÈ›i un TAN:"</string> + <!-- XLNK: Button / hyperlink to phone call for TAN contact page --> + <string name="submission_contact_number_display">"+49 800 7540002"</string> + <!-- XLNK: Technical number which is called when the user clicks on the display number --> + <string name="submission_contact_number_dial">"+49 800 7540002"</string> + <!-- YTXT: Body text for step 2 of contact page--> + <string name="submission_contact_step_2_body">"ÃŽnregistraÈ›i testul introducând codul TAN în aplicaÈ›ie."</string> + <!-- YTXT: Body text for operating hours in contact page--> + <string name="submission_contact_operating_hours_body">"Limbi: \ngermană, engleză, turcă\n\nProgram de lucru:\nluni - duminică: non-stop\n\nApelul este gratuit."</string> + + <!-- XACT: Submission contact page title --> + <string name="submission_contact_accessibility_title">"SunaÈ›i la hotline È™i solicitaÈ›i un TAN"</string> + <!-- XACT: Content Description for submission contact step 1, number has to sync with the display number --> + <string name="submission_contact_step_1_content">"Primul pas: sunaÈ›i la hotline È™i solicitaÈ›i codul dvs. TAN. PuteÈ›i contacta hotline-ul la numărul de telefon +49 800 7540002. Programul de lucru este: luni - vineri, 08:00 - 22.00 È™i sâmbătă - duminică, 10:00 - 22:00. Apelul este gratuit."</string> + <!-- XACT: Content Description for submission contact step 2 --> + <string name="submission_contact_step_2_content">"Al doilea pas: înregistraÈ›i-vă testul cu codul dvs. TAN în aplicaÈ›ie."</string> + + <!-- Submission Status Card --> + <!-- XHED: Page title for the various submission status: fetching --> + <string name="submission_status_card_title_fetching">"Datele sunt regăsite...."</string> + <!-- XHED: Page title for the various submission status: unregistered --> + <string name="submission_status_card_title_unregistered">"AÈ›i fost testat?"</string> + <!-- XHED: Page title for the various submission status: pending --> + <string name="submission_status_card_title_pending">"Rezultatul dvs. nu este încă disponibil"</string> + <!-- XHED: Page title for the various submission status: available --> + <string name="submission_status_card_title_available">"Rezultatul dvs. este disponibil"</string> + <!-- XHED: Page title for the various submission status: positive --> + <string name="submission_status_card_title_positive">"Diagnostic pozitiv"</string> + <!-- XHED: Subtitle for the submission status card: invalid --> + <string name="submission_status_card_subtitle_invalid">"Test nevalid"</string> + <!-- XHED: Subtitle for the submission status card: negative --> + <string name="submission_status_card_subtitle_negative">"Diagnostic negativ"</string> + <!-- YTXT: Body text for submission status: fetching --> + <string name="submission_status_card_body_fetching">"Rezultatul dvs. este în curs de actualizare"</string> + <!-- YTXT: Body text for submission status: unregistered --> + <string name="submission_status_card_body_unregistered">"AjutaÈ›i la întreruperea lanÈ›ului de infectare prin notificarea altor persoane."</string> + <!-- YTXT: Body text for submission status: pending --> + <string name="submission_status_card_body_pending">"Evaluarea testului dvs. nu este încă finalizată."</string> + <!-- YTXT: Body text for submission status: invalid --> + <string name="submission_status_card_body_invalid">"Testul dvs. nu a putut fi evaluat."</string> + <!-- YTXT: Body text for submission status: positive --> + <string name="submission_status_card_body_positive">"AÈ›i fost diagnosticat pozitiv la SARS-CoV-2."</string> + <!-- YTXT: Body text for submission status: negative --> + <string name="submission_status_card_body_negative">"AÈ›i fost diagnosticat negativ la SARS-CoV-2."</string> + <!-- XBUT: submission status card unregistered button --> + <string name="submission_status_card_button_unregistered">"AflaÈ›i mai multe È™i Ajutor"</string> + <!-- XBUT: submission status card show results button --> + <string name="submission_status_card_button_show_results">"AfiÈ™are test"</string> + <!-- XHED: submission status card positive result subtitle --> + <string name="submission_status_card_positive_result_subtitle">"ReÈ›ineÈ›i:"</string> + <!-- YTXT: text for contagious card --> + <string name="submission_status_card_positive_result_contagious">"SunteÈ›i infectat. IzolaÈ›i-vă de alte persoane."</string> + <!-- YTXT: text for contact card --> + <string name="submission_status_card_positive_result_contact">"Autoritatea de sănătate publică vă va contacta în următoarele zile telefonic sau în scris."</string> + <!-- YTXT: text for share result card--> + <string name="submission_status_card_positive_result_share">"TrimiteÈ›i ID-ul dvs. aleatoriu pentru a-i avertiza È™i pe alÈ›ii."</string> + + <!-- Test Result Card --> + <string name="test_result_card_headline">"Diagnosticul dvs.:"</string> + <!-- YTXT: virus name text --> + <string name="test_result_card_virus_name_text">"SARS-CoV-2"</string> + <!-- YTXT: registered at text --> + <string name="test_result_card_registered_at_text">"ÃŽnregistrat la %s"</string> + <!-- YTXT: negative status text --> + <string name="test_result_card_status_negative">"Negativ"</string> + <!-- YTXT: positive status text --> + <string name="test_result_card_status_positive">"Pozitiv"</string> + <!-- YTXT: invalid status text --> + <string name="test_result_card_status_invalid">"Evaluarea nu este posibilă"</string> + <!-- YTXT: pending status text --> + <string name="test_result_card_status_pending">"Rezultatul dvs. nu este încă disponibil"</string> + <!-- XHED: Title for further info of test result negative --> + <string name="test_result_card_negative_further_info_title">"Alte informaÈ›ii:"</string> + <!-- YTXT: Content for further info of test result negative --> + <string-array name="test_result_card_negative_further_info_bullet_points"> + <item>"ÃŽncă vă simÈ›iÈ›i rău? Dacă vă simÈ›iÈ›i foarte rău È™i/sau simptomele dvs. s-au agravat, vă rugăm să contactaÈ›i medicul dvs. de familie."</item> + <item>"RămâneÈ›i acasă până vă simÈ›iÈ›i din nou bine. Dacă v-aÈ›i infecta cu coronavirus (SARS-CoV-2) în timp ce organismul dvs. este slăbit din cauza unei alte infecÈ›ii, aceasta ar putea duce la o boală gravă."</item> + <item>"Nu mergeÈ›i la serviciu dacă nu vă simÈ›iÈ›i bine pentru a nu expune la risc alte persoane. Dacă simptomele dvs. se agravează, se poate să aveÈ›i nevoie de un test SARS-CoV-2 suplimentar."</item> + </string-array> + + <!-- #################################### + Button Tooltips for Accessibility + ###################################### --> + <!-- XACT: back button--> + <string name="button_back">"ÃŽnapoi la pagina anterioară"</string> + <!-- XACT: proceed button--> + <string name="button_proceed">"Butonul Continuare"</string> + <!-- XACT: share button--> + <string name="button_share">"Partajare"</string> + <!-- XACT: menu button--> + <string name="button_menu">"Meniu"</string> + <!-- XACT: Accessibility needs a suffix to strings, to reduce the amount of manual translations this string is appended to accessibility button strings, e.g. "Zurück Taste", "Taste" is the default used by android in german --> + <string name="suffix_button">"Buton"</string> + <!-- XACT: Accessibility needs a suffix to strings, to reduce the amount of manual translations this string is appended to accessibility content description strings for images, e.g. "Eine Gruppe von... Bild" --> + <string name="suffix_image">"Imagine"</string> + + <!-- #################################### + Business Error Messages + ###################################### --> + <!-- XTXT: error dialog - detailed text if device is offline --> + <string name="errors_no_network">"Nu sunteÅ£i conectat la internet."</string> + <!-- XTXT: error dialog - detailed text if device has not enough device space --> + <string name="errors_not_enough_device_storage">"Nu aveÈ›i suficientă memorie liberă."</string> + <!-- XTXT: error dialog - detailed text if there is error with Google API --> + <string name="errors_communication_with_api">"Eroare de comunicare cu interfaÈ›a Google"</string> + <!-- XTXT: error dialog - detailed text if there is an error during external navigation / external action --> + <string name="errors_external_action">"Nu puteÈ›i efectua această acÈ›iune. ContactaÈ›i hotline-ul."</string> + <!-- XTXT: error dialog - phone still needs Google Play Services or Google Mobile Services update --> + <string name="errors_google_update_needed">"AplicaÈ›ia dvs. Corona-Warn este instalată corect, dar serviciul „Notificări privind expunerea la COVID-19†nu este disponibil în sistemul de operare al smartphone-ului dvs. Aceasta înseamnă că nu puteÈ›i utiliza aplicaÈ›ia Corona-Warn. Pentru mai multe informaÈ›ii, consultaÈ›i pagina noastră de întrebări frecvente: https://www.coronawarn.app/en/faq/"</string> + <!-- XTXT: error dialog - either Google API Error (10) or reached request limit per day --> + <string name="errors_google_api_error">"AplicaÈ›ia Corona-Warn funcÈ›ionează corect, dar nu putem actualiza starea curentă a riscului dvs. ÃŽnregistrare în jurnal a expunerilor rămâne activă È™i funcÈ›ionează corect. Pentru mai multe informaÈ›ii, consultaÈ›i pagina noastră de întrebări frecvente: https://www.coronawarn.app/en/faq/ \n"</string> + + <!-- #################################### + Generic Error Messages + ###################################### --> + <!-- XHED: error dialog - headline --> + <string name="errors_generic_headline">"A apărut o problemă."</string> + <!-- XTXT: error dialog - short text for error reason --> + <string name="errors_generic_details_headline">"Cauză"</string> + <!-- XBUT: error dialog - button close --> + <string name="errors_generic_button_positive">"OK"</string> + <!-- XBUT: error dialog - button show details --> + <string name="errors_generic_button_negative">"Detalii"</string> + <!-- XTXT: error dialog - text when no error description is available --> + <string name="errors_generic_text_unknown_error_cause">"A apărut o eroare necunoscută."</string> + + <!-- #################################### + Just for Development + ###################################### --> + <!-- NOTR --> + <string name="lorem_ipsum">"Lorem Ipsum"</string> + <!-- NOTR --> + <string name="menu_test_api">"Test API"</string> + <!-- NOTR --> + <string name="menu_test_risk_level">"Test Risk Level"</string> + <!-- NOTR --> + <string name="menu_test_notification">"Test Notification"</string> + <!-- NOTR --> + <string name="test_api_button_api_launch">"Android API Test(Manual Test)"</string> + <!-- NOTR --> + <string name="test_api_button_start">"Start (Broadcast/Receive Bluetooth)"</string> + <!-- NOTR --> + <string name="test_api_button_get_exposure_keys">"Get Exposure keys (my keys history from api)"</string> + <!-- NOTR --> + <string name="test_api_button_share_my_keys">"Share my keys via Email"</string> + <!-- NOTR --> + <string name="test_api_button_enter_other_keys">"Submit Exposure Key"</string> + <!-- NOTR --> + <string name="test_api_button_show_qr_code">"Show QR Code"</string> + <!-- NOTR --> + <string name="test_api_button_submit_keys">"Submit keys to Server"</string> + <!-- NOTR --> + <string name="test_api_button_scan_qr_code">"Scan Exposure Key"</string> + <!-- NOTR --> + <string name="test_api_switch_last_three_hours_from_server">"Last 3 Hours Mode"</string> + <!-- NOTR --> + <string name="test_api_button_check_exposure">"Check Exposure Summary"</string> + <!-- NOTR --> + <string name="test_api_exposure_summary_headline">"Exposure summary"</string> + <!-- NOTR --> + <string name="test_api_body_daysSinceLastExposure">"Days since last exposure: %1$s"</string> + <!-- NOTR --> + <string name="test_api_body_attenuation">"Attenuation Durations in Minutes: %1$s"</string> + <!-- NOTR --> + <string name="test_api_body_summation_risk">"Summation Risk Score: %1$s"</string> + <!-- NOTR --> + <string name="test_api_body_matchedKeyCount">"Matched key count: %1$s"</string> + <!-- NOTR --> + <string name="test_api_body_maximumRiskScore">"Maximum risk score %1$s"</string> + <!-- NOTR --> + <string name="test_api_body_my_keys">"My keys (count: %1$d)"</string> + <!-- NOTR --> + <string name="test_api_body_other_keys">"Other key"</string> + <!-- NOTR --> + <string name="test_api_calculate_risk_level">"Calculate Risk Level"</string> + +</resources> \ No newline at end of file diff --git a/Corona-Warn-App/src/main/res/values-tr/strings.xml b/Corona-Warn-App/src/main/res/values-tr/strings.xml index 4436a632a6aebf633369ba2ee83b71079be6de34..663ac88beb65f0975646978e2ddbe5bd61339a07 100644 --- a/Corona-Warn-App/src/main/res/values-tr/strings.xml +++ b/Corona-Warn-App/src/main/res/values-tr/strings.xml @@ -86,6 +86,8 @@ <string name="accessibility_close">"Kapat"</string> <!-- XACT: menu description for screen readers --> <string name="accessibility_logo">"Corona-Warn-App"</string> + <!-- XACT: button description for screen readers to be appended at the end of content without focusable subcontent that are explored by touch --> + <string name="accessibility_button">"Düğme"</string> <!-- #################################### Menu @@ -135,6 +137,10 @@ <plurals name="risk_card_body_contact_value"> <item quantity="one">"%1$s maruz kalma"</item> <item quantity="other">"%1$s maruz kalma"</item> + <item quantity="zero">"%1$s maruz kalma"</item> + <item quantity="two">"%1$s maruz kalma"</item> + <item quantity="few">"%1$s maruz kalma"</item> + <item quantity="many">"%1$s maruz kalma"</item> </plurals> <!-- XTXT: risk card - tracing active for x out of 14 days --> <string name="risk_card_body_saved_days">"Maruz kalma günlüğü son 14 günde %1$s etkindi."</string> @@ -162,6 +168,10 @@ <plurals name="risk_card_increased_risk_body_contact_last"> <item quantity="one">"son karşılaÅŸmanın üzerinden %1$s gün geçti"</item> <item quantity="other">"son karşılaÅŸmanın üzerinden %1$s gün geçti"</item> + <item quantity="zero">"son karşılaÅŸmanın üzerinden %1$s gün geçti"</item> + <item quantity="two">"son karşılaÅŸmanın üzerinden %1$s gün geçti"</item> + <item quantity="few">"son karşılaÅŸmanın üzerinden %1$s gün geçti"</item> + <item quantity="many">"son karşılaÅŸmanın üzerinden %1$s gün geçti"</item> </plurals> <!-- XHED: risk card - unknown risk headline --> <string name="risk_card_unknown_risk_headline">"Bilinmeyen Risk"</string> @@ -175,6 +185,8 @@ <string name="risk_card_outdated_risk_headline">"Maruz kalma günlüğü oluÅŸturulamıyor"</string> <!-- XTXT: risk card - outdated risk, calculation couldn't be updated in the last 24 hours --> <string name="risk_card_outdated_risk_body">"Maruz kalma günlüğünüz 24 saatten uzun süre için güncellenemedi."</string> + <!-- XTXT: risk card - outdated risk manual, calculation couldn't be updated in the last 48 hours --> + <string name="risk_card_outdated_manual_risk_body">"Risk durumunuz 48 saatten uzun süredir güncellenmedi. Lütfen risk durumunuzu güncelleyin."</string> <!-- XHED: risk card - loading headline, update is ongoing --> <string name="risk_card_loading_headline">"Kontrol devam ediyor…"</string> <!-- XTXT: risk card - loading, data is downloaded and will be checked, this can take several minutes --> @@ -189,7 +201,7 @@ <!-- XTXT: main, explains faq on card --> <string name="main_about_body">"Bu bölümde, Corona-Warn-App hakkında sık sorulan soruların yanıtlarını bulabilirsiniz. Harici bir web sitesine yönlendirileceksiniz."</string> <!-- XTXT: FAQ link, should be translated --> - <string name="main_about_link">"https://www.bundesregierung.de/corona-warn-app-faq-tuerkisch"</string> + <string name="main_about_link">"https://www.bundesregierung.de/corona-warn-app-faq-englisch"</string> <!-- XACT: Opens external webpage --> <string name="hint_external_webpage">"Bu bölümde, Corona-Warn-App hakkında sık sorulan soruların yanıtlarını bulabilirsiniz. Harici bir web sitesine yönlendirileceksiniz."</string> @@ -206,7 +218,7 @@ <!-- XBUT: Share app link page button --> <string name="main_share_button">"Ä°ndirme BaÄŸlantısı Gönder"</string> <!-- YMSG: Message when sharing is executed --> - <string name="main_share_message">"Koronavirüs ile birlikte mücadele edelim"<xliff:g id="line_break">"\n"</xliff:g>"Ben katıldım, peki ya sen?"<xliff:g id="line_break">"\n"</xliff:g><xliff:g id="link_play_store">"https://www.corona-warn-app.de"</xliff:g>"\n"<xliff:g id="line_break">"\n"</xliff:g></string> + <string name="main_share_message">"Koronavirüs ile birlikte mücadele edelim"<xliff:g id="line_break">"\n"</xliff:g>"Ben katıldım, peki ya sen?"<xliff:g id="line_break">"\n"</xliff:g><xliff:g id="link_play_store">"Https://www.bundesregierung.de/breg-de/themen/corona-warn-app/corona-warn-app-tuerkisch"</xliff:g>"\n"<xliff:g id="line_break">"\n"</xliff:g></string> <!-- XACT: main (share) - illustraction description, explanation image --> <string name="main_share_illustration_description">"Bir erkek, Corona-Warn-App\'i dört farklı kiÅŸi ile paylaşıyor."</string> @@ -259,9 +271,9 @@ <!-- XHED: App overview subtitle for glossary keys --> <string name="main_overview_subtitle_glossary_keys">"Rastgele Kimlikler"</string> <!-- YTXT: App overview body for glossary keys --> - <string name="main_overview_body_glossary_keys">"Rastgele Kimlikler, rastgele oluÅŸturulan rakam ve harf kombinasyonlarıdır. Yakın mesafedeki cihazlar arasında deÄŸiÅŸtirilir. Rastgele Kimlikler belirli bir kiÅŸiye atanamaz ve 14 günün sonunda otomatik olarak silinir. COVID-19 tanısı konan kiÅŸiler son 14 güne kadar rastgele kimliklerinin uygulamanın diÄŸer kullanıcıları ile paylaşılmasını seçebilir."</string> + <string name="main_overview_body_glossary_keys">"Rastgele Kimlikler, rastgele oluÅŸturulan rakam ve harf kombinasyonlarıdır. Yakın mesafedeki cihazlar arasında deÄŸiÅŸtirilir. Rastgele Kimlikler belirli bir kiÅŸiyi izlemek üzere kullanılamaz ve 14 günün sonunda otomatik olarak silinir. COVID-19 tanısı konan kiÅŸiler son 14 güne kadar rastgele kimliklerinin uygulamanın diÄŸer kullanıcıları ile paylaşılmasını seçebilir."</string> <!-- XACT: main (overview) - illustraction description, explanation image --> - <string name="main_overview_illustration_description">"Bir cihaz, 1 ila 3 olarak numaralandırılmış farklı içerikleri gösterir."</string> + <string name="main_overview_illustration_description">"Bir akıllı telefon, 1 ila 3 olarak numaralandırılmış farklı içerikleri gösterir."</string> <!-- XACT: App main page title --> <string name="main_title">"Corona-Warn-App Ana sayfası"</string> @@ -272,7 +284,7 @@ <!-- XHED: risk details - page title, in toolbar --> <string name="risk_details_title">"Risk Durumunuz"</string> <!-- XHED: risk details - headline, how a user should act --> - <string name="risk_details_headline_behavior">"Yönergeler"</string> + <string name="risk_details_headline_behavior">"Talimatlar"</string> <!-- XHED: risk details - multiline headline, bold, how to act correct --> <string name="risk_details_subtitle_behavior">"Yapmanız gerekenler"</string> <!-- XMSG: risk details - go/stay home, something like a bullet point --> @@ -317,6 +329,10 @@ <plurals name="risk_details_information_body_increased_risk"> <item quantity="one">"En son %1$s gün önce, COVID-19 tanısı konan en az bir kiÅŸiyle daha uzun süreyle ve yakın mesafeden maruz kalma yaÅŸadığınız için enfeksiyon riskiniz daha yüksektir."</item> <item quantity="other">"En son %1$s gün önce, COVID-19 tanısı konan en az bir kiÅŸiyle daha uzun süreyle ve yakın mesafeden maruz kalma yaÅŸadığınız için enfeksiyon riskiniz daha yüksektir."</item> + <item quantity="zero">"En son %1$s gün önce, COVID-19 tanısı konan en az bir kiÅŸiyle daha uzun süreyle ve yakın mesafeden maruz kalma yaÅŸadığınız için enfeksiyon riskiniz daha yüksektir."</item> + <item quantity="two">"En son %1$s gün önce, COVID-19 tanısı konan en az bir kiÅŸiyle daha uzun süreyle ve yakın mesafeden maruz kalma yaÅŸadığınız için enfeksiyon riskiniz daha yüksektir."</item> + <item quantity="few">"En son %1$s gün önce, COVID-19 tanısı konan en az bir kiÅŸiyle daha uzun süreyle ve yakın mesafeden maruz kalma yaÅŸadığınız için enfeksiyon riskiniz daha yüksektir."</item> + <item quantity="many">"En son %1$s gün önce, COVID-19 tanısı konan en az bir kiÅŸiyle daha uzun süreyle ve yakın mesafeden maruz kalma yaÅŸadığınız için enfeksiyon riskiniz daha yüksektir."</item> </plurals> <!-- YTXT: risk details - risk calculation explanation --> <string name="risk_details_information_body_notice">"Enfeksiyon riskiniz, cihazınızda yerel olarak bulunan maruz kalma günlüğü verileri (süre ve mesafe) kullanılarak hesaplanır. Enfeksiyon riskiniz baÅŸkaları tarafından görüntülenemez veya baÅŸkalarına aktarılmaz."</string> @@ -331,7 +347,6 @@ <string name="risk_details_explanation_dialog_title">Daha fazla bilgi için lütfen SSS sayfamıza bakın.</string> <!-- YTXT: one time risk explanation dialog - pointing to the faq page for more information--> <string name="risk_details_explanation_dialog_faq_body">Maruz kalma iÅŸlevi hakkında bilgi.</string> - <!-- #################################### Onboarding ###################################### --> @@ -359,14 +374,14 @@ <!-- YTXT: onboarding(together) - explain application --> <string name="onboarding_body_emphasized">"Uygulama kiÅŸilerin cihazları arasında ÅŸifrelenmiÅŸ rastgele kimlikleri paylaÅŸarak karşılaÅŸma günlüğü oluÅŸturur ve bu sırada hiçbir kiÅŸisel veriye eriÅŸim saÄŸlanmaz."</string> <!-- XACT: onboarding(together) - illustraction description, header image --> - <string name="onboarding_illustration_description">"Bölgedeki bir grup insan cihazlarını kullanıyor."</string> + <string name="onboarding_illustration_description">"Bölgedeki bir grup insan akıllı telefonlarını kullanıyor."</string> <!-- XACT: Onboarding (privacy) page title --> <string name="onboarding_privacy_accessibility_title">"EtkinleÅŸtirme sayfası 2/5: Veri GizliliÄŸi. Uzun bir metin yerleÅŸtirilecektir. DilediÄŸiniz zaman devam etmek için ekranın alt kısmındaki düğmeyi kullanın."</string> <!-- XHED: onboarding(privacy) - title --> <string name="onboarding_privacy_headline">"Veri GizliliÄŸi"</string> <!-- XACT: onboarding(privacy) - illustraction description, header image --> - <string name="onboarding_privacy_illustration_description">"Bir kadın cihazında Corona-Warn-App\'i kullanıyor. Kılıftaki kilit, ÅŸifrelenmiÅŸ verilerin sembolüdür."</string> + <string name="onboarding_privacy_illustration_description">"Bir kadın akıllı telefonunda Corona-Warn-App\'i kullanıyor. Kılıfın arka planındaki kilit, ÅŸifrelenmiÅŸ verilerin simgesidir."</string> <!-- XACT: Onboarding (tracing) page title --> <string name="onboarding_tracing_accessibility_title">"EtkinleÅŸtirme sayfası 3/5: Maruz Kalma Günlüğünü EtkinleÅŸtirme"</string> <!-- XHED: onboarding(tracing) - how to enable tracing --> @@ -380,7 +395,7 @@ <!-- XHED: onboarding(tracing) - headline for consent information --> <string name="onboarding_tracing_headline_consent">"Kabul Beyanı"</string> <!-- YTXT: onboarding(tracing) - body for consent information --> - <string name="onboarding_tracing_body_consent">"Enfekte olan biriyle temas halinde olup olmadığınızı ve sizin de enfeksiyon riski altında olup olmadığınızı öğrenmek için Uygulamanın maruz kalma günlüğü özelliÄŸini etkinleÅŸtirmeniz gerekir. \"EtkinleÅŸtir\" düğmesine dokunarak Uygulamanın maruz kalma günlüğü özelliÄŸini etkinleÅŸtirmeyi ve iliÅŸkili verilerin iÅŸlenmesini kabul edersiniz."<xliff:g id="line_break">"\n"</xliff:g><xliff:g id="line_break">"\n"</xliff:g>"Uygulamanın maruz kalma günlüğü özelliÄŸini kullanmak için akıllı telefonunuzda Google tarafından sunulan COVID-19\'a Maruz Kalma Günlüğü iÅŸlevini etkinleÅŸtirmeniz ve Corona-Warn-App\'e bu iÅŸlevi kullanma izni vermeniz gerekecektir."<xliff:g id="line_break">"\n"</xliff:g><xliff:g id="line_break">"\n"</xliff:g>"Maruz kalma günlüğü etkinleÅŸtirildiÄŸinde akıllı telefonunuz sürekli olarak rastgele kimlikler oluÅŸturur ve bu rastgele kimlikleri maruz kalma günlüğü etkinleÅŸtirilmiÅŸ olan yakınınızdaki diÄŸer Android veya Apple akıllı telefonlara Bluetooth üzerinden aktarır. Bunun karşılığında akıllı telefonunuz diÄŸer akıllı telefonların rastgele kimliklerini alır. Size ait olan ve diÄŸer akıllı telefonlardan alınan rastgele kimlikler, maruz kalma günlüğüne kaydedilir ve 14 gün süreyle burada saklanır."<xliff:g id="line_break">"\n"</xliff:g><xliff:g id="line_break">"\n"</xliff:g>"Uygulama, enfeksiyon riskinizi belirlemek için koronavirüs enfeksiyonu olduÄŸunu Uygulamada belirten tüm kullanıcıların rastgele kimliklerinin listesini (günde birkaç kez veya talep üzerine) yükler. Ardından bu liste maruz kalma günlüğünde tutulan rastgele kimliklerle karşılaÅŸtırılır. Uygulama enfekte olan bir kullanıcı ile temas halinde olabileceÄŸinizi saptadığında bu konuda bilgilendirilirsiniz ve sizin de enfeksiyon riski taşıdığınız belirtilir. Bu durumda Uygulama akıllı telefonunuzun maruz kalma günlüğünde tutulan diÄŸer verilere (tarih, süre ve temas sırasındaki Bluetooth sinyalinin gücü) eriÅŸir."<xliff:g id="line_break">"\n"</xliff:g><xliff:g id="line_break">"\n"</xliff:g>"Bluetooth sinyali gücü, fiziksel mesafenin belirlenmesi için kullanılır (sinyal ne kadar güçlü olursa mesafe o kadar kısa olur). Ardından Uygulama, koronavirüs enfeksiyonu olasılığınızı deÄŸerlendirmek ve sonraki adımlara yönelik öneriler sunmak üzere bu bilgileri analiz eder. Bu analiz akıllı telefonunuzda yalnızca yerel olarak gerçekleÅŸtirilir. Sizin dışınızda hiç kimse (RKI bile) enfekte olan biriyle temas ettiÄŸinizi ve sizin için belirlenen riski bilmez."<xliff:g id="line_break">"\n"</xliff:g><xliff:g id="line_break">"\n"</xliff:g>"Maruz kalma günlüğüne verdiÄŸiniz onayı geri çekmek için Uygulamadaki düğmeyi kullanarak veya Uygulamayı silerek özelliÄŸi devre dışı bırakabilirsiniz. Maruz kalma günlüğü özelliÄŸini yeniden kullanmaya karar verirseniz özelliÄŸi geri açabilir veya Uygulamayı yeniden yükleyebilirsiniz. Maruz kalma günlüğü özelliÄŸini devre dışı bırakırsanız Uygulama artık enfekte olan bir kullanıcı ile temas halinde olup olmadığınızı kontrol etmez. Cihazınızın rastgele kimlik göndermesini ve almasını durdurmak isterseniz de akıllı telefonunuzun ayarlarında COVID-19\'a Maruz Kalma Günlüğü özelliÄŸini devre dışı bırakmanız gerekir. Size ait olan ve diÄŸer akıllı telefonlardan alınan maruz kalma günlüğündeki rastgele kimliklerin Uygulamada silinmeyeceÄŸini unutmayın. Akıllı telefonunuzun ayarlarında yalnızca maruz kalma günlüğünde tutulan verileri kalıcı olarak silebilirsiniz."<xliff:g id="line_break">"\n"</xliff:g><xliff:g id="line_break">"\n"</xliff:g>"Uygulamanın gizlilik bildirimini (maruz kalma günlüğü özelliÄŸi için gerçekleÅŸtirilen veri iÅŸlemeye iliÅŸkin açıklama dahil) menüde \"Veri GizliliÄŸi Bilgileri\" baÅŸlığında bulabilirsiniz."</string> + <string name="onboarding_tracing_body_consent">"Enfekte olan biriyle temas halinde olup olmadığınızı ve sizin de enfeksiyon riski altında olup olmadığınızı öğrenmek için Uygulamanın maruz kalma günlüğü özelliÄŸini etkinleÅŸtirmeniz gerekir. \"EtkinleÅŸtir\" düğmesine dokunarak Uygulamanın maruz kalma günlüğü özelliÄŸini etkinleÅŸtirmeyi ve iliÅŸkili verilerin iÅŸlenmesini kabul edersiniz."<xliff:g id="line_break">"\n"</xliff:g><xliff:g id="line_break">"\n"</xliff:g>"Uygulamanın maruz kalma günlüğü özelliÄŸini kullanmak için akıllı telefonunuzda Google tarafından sunulan COVID-19\'a Maruz Kalma Günlüğü iÅŸlevini etkinleÅŸtirmeniz ve Corona-Warn-App\'e bu iÅŸlevi kullanma izni vermeniz gerekecektir."<xliff:g id="line_break">"\n"</xliff:g><xliff:g id="line_break">"\n"</xliff:g>"Maruz kalma günlüğü etkinleÅŸtirildiÄŸinde akıllı telefonunuz sürekli olarak rastgele kimlikler oluÅŸturur ve bu rastgele kimlikleri maruz kalma günlüğü etkinleÅŸtirilmiÅŸ olan yakınınızdaki diÄŸer Android veya Apple akıllı telefonlara Bluetooth üzerinden aktarır. Bunun karşılığında akıllı telefonunuz diÄŸer akıllı telefonların rastgele kimliklerini alır. Size ait olan ve diÄŸer akıllı telefonlardan alınan rastgele kimlikler, maruz kalma günlüğüne kaydedilir ve 14 gün süreyle burada saklanır."<xliff:g id="line_break">"\n"</xliff:g><xliff:g id="line_break">"\n"</xliff:g>"Uygulama, enfeksiyon riskinizi belirlemek için koronavirüs enfeksiyonu olduÄŸunu Uygulamada belirten tüm kullanıcıların rastgele kimliklerinin listesini (günde birkaç kez veya talep üzerine) yükler. Ardından bu liste maruz kalma günlüğünde tutulan rastgele kimliklerle karşılaÅŸtırılır. Uygulama enfekte olan bir kullanıcı ile temas halinde olabileceÄŸinizi saptadığında bu konuda bilgilendirilirsiniz ve sizin de enfeksiyon riski taşıdığınız belirtilir. Bu durumda Uygulama akıllı telefonunuzun maruz kalma günlüğünde tutulan diÄŸer verilere (tarih, süre ve temas sırasındaki Bluetooth sinyalinin gücü) eriÅŸir."<xliff:g id="line_break">"\n"</xliff:g><xliff:g id="line_break">"\n"</xliff:g>"Bluetooth sinyal gücü, fiziksel mesafenin belirlenmesi için kullanılır (sinyal ne kadar güçlü olursa mesafe o kadar kısa olur). Ardından Uygulama, koronavirüs enfeksiyonu olasılığınızı deÄŸerlendirmek ve sonraki adımlara yönelik öneriler sunmak üzere bu bilgileri analiz eder. Bu analiz akıllı telefonunuzda yalnızca yerel olarak gerçekleÅŸtirilir. Sizin dışınızda hiç kimse (RKI bile) enfekte olan biriyle temas ettiÄŸinizi ve sizin için belirlenen riski bilmez."<xliff:g id="line_break">"\n"</xliff:g><xliff:g id="line_break">"\n"</xliff:g>"Maruz kalma günlüğüne verdiÄŸiniz onayı geri çekmek için Uygulamadaki düğmeyi kullanarak veya Uygulamayı silerek özelliÄŸi devre dışı bırakabilirsiniz. Maruz kalma günlüğü özelliÄŸini yeniden kullanmaya karar verirseniz özelliÄŸi geri açabilir veya Uygulamayı yeniden yükleyebilirsiniz. Maruz kalma günlüğü özelliÄŸini devre dışı bırakırsanız Uygulama artık enfekte olan bir kullanıcı ile temas halinde olup olmadığınızı kontrol etmez. Cihazınızın rastgele kimlik göndermesini ve almasını durdurmak isterseniz de akıllı telefonunuzun ayarlarında COVID-19\'a Maruz Kalma Günlüğü özelliÄŸini devre dışı bırakmanız gerekir. Size ait olan ve diÄŸer akıllı telefonlardan alınan maruz kalma günlüğündeki rastgele kimliklerin Uygulamada silinmeyeceÄŸini unutmayın. Akıllı telefonunuzun ayarlarında yalnızca maruz kalma günlüğünde tutulan verileri kalıcı olarak silebilirsiniz."<xliff:g id="line_break">"\n"</xliff:g><xliff:g id="line_break">"\n"</xliff:g>"Uygulamanın gizlilik bildirimini (maruz kalma günlüğü özelliÄŸi için gerçekleÅŸtirilen veri iÅŸlemeye iliÅŸkin açıklama dahil) menüde \"Veri GizliliÄŸi Bilgileri\" baÅŸlığında bulabilirsiniz."</string> <!-- XBUT: onboarding(tracing) - button enable tracing --> <string name="onboarding_tracing_button_next">"Maruz Kalma Günlüğünü EtkinleÅŸtir"</string> <!-- XTXT: onboarding(tracing) - dialog about tracing permission declined --> @@ -393,6 +408,12 @@ <string name="onboarding_tracing_dialog_button_negative">"Geri"</string> <!-- XACT: onboarding(tracing) - illustraction description, header image --> <string name="onboarding_tracing_illustration_description">"Üç kiÅŸi cihazlarında maruz kalma günlüğünü etkinleÅŸtirdi ve birbirleri ile karşılaÅŸmaları günlüğe kaydedilecektir."</string> + <!-- XHED: onboarding(tracing) - location explanation for bluetooth headline --> + <string name="onboarding_tracing_location_headline">"Konum eriÅŸimine izin ver"</string> + <!-- XTXT: onboarding(tracing) - location explanation for bluetooth body text --> + <string name="onboarding_tracing_location_body">"Konumunuza eriÅŸilemiyor. Bluetooth\'u kullanmak için Google ve/veya Android\'in cihazınızın konumuna eriÅŸmesi gerekiyor."</string> + <!-- XBUT: onboarding(tracing) - button enable tracing --> + <string name="onboarding_tracing_location_button">"Cihaz Ayarlarını Aç"</string> <!-- XACT: Onboarding (test) page title --> <string name="onboarding_test_accessibility_title">"EtkinleÅŸtirme sayfası 4/5: Size COVID-19 tanısı konduysa..."</string> <!-- XHED: onboarding(test) - about positive tests --> @@ -440,6 +461,8 @@ <string name="settings_tracing_status_active">"Etkin"</string> <!-- XTXT: settings(tracing) - status next to switch under title --> <string name="settings_tracing_status_inactive">"Durduruldu"</string> + <!-- XTXT: settings(tracing) - shows status under header in home, inactive location --> + <string name="settings_tracing_body_inactive_location">"Konum hizmetleri devre dışı"</string> <!-- XTXT: settings(tracing) - status next to switch under title --> <string name="settings_tracing_status_restricted">"Sınırlı"</string> <!-- XTXT: settings(tracing) - shows status under header in home, no internet --> @@ -462,15 +485,19 @@ <plurals name="settings_tracing_status_body_active"> <item quantity="one">"Maruz kalma günlüğü bir gündür etkin.\nMaruz kalma denetimi yalnızca maruz kalma günlüğünün kalıcı olarak etkinleÅŸtirilmesi durumunda güvenilir olabilir."</item> <item quantity="other">"Maruz kalma günlüğü %1$s gündür etkin.\nMaruz kalma denetimi yalnızca maruz kalma günlüğünün kalıcı olarak etkinleÅŸtirilmesi durumunda güvenilir olabilir."</item> + <item quantity="zero">"Maruz kalma günlüğü %1$s gündür etkin.\nMaruz kalma denetimi yalnızca maruz kalma günlüğünün kalıcı olarak etkinleÅŸtirilmesi durumunda güvenilir olabilir."</item> + <item quantity="two">"Maruz kalma günlüğü %1$s gündür etkin.\nMaruz kalma denetimi yalnızca maruz kalma günlüğünün kalıcı olarak etkinleÅŸtirilmesi durumunda güvenilir olabilir."</item> + <item quantity="few">"Maruz kalma günlüğü %1$s gündür etkin.\nMaruz kalma denetimi yalnızca maruz kalma günlüğünün kalıcı olarak etkinleÅŸtirilmesi durumunda güvenilir olabilir."</item> + <item quantity="many">"Maruz kalma günlüğü %1$s gündür etkin.\nMaruz kalma denetimi yalnızca maruz kalma günlüğünün kalıcı olarak etkinleÅŸtirilmesi durumunda güvenilir olabilir."</item> </plurals> <!-- XACT: settings(tracing) - describes illustration --> <string name="settings_tracing_illustration_description_active">"Üç kiÅŸi cihazlarında maruz kalma günlüğünü etkinleÅŸtirdi ve birbirleri ile karşılaÅŸmaları günlüğe kaydedilecektir."</string> <!-- XACT: settings(tracing) - describes illustration --> - <string name="settings_tracing_illustration_description_inactive">"Bir kiÅŸi cihazında maruz kalma günlüğünü devre dışı bıraktı. Bu nedenle iki diÄŸer kiÅŸi ile karşılaÅŸma günlüğe kaydedilmez."</string> + <string name="settings_tracing_illustration_description_inactive">"Bir kiÅŸi akıllı telefonunda maruz kalma günlüğünü devre dışı bıraktı. Bu nedenle iki diÄŸer kiÅŸi ile karşılaÅŸma günlüğe kaydedilmez."</string> <!-- XACT: settings(tracing) - describes illustration --> - <string name="settings_tracing_bluetooth_illustration_description_inactive">"Bir kiÅŸi cihazında Bluetooth\'u kapattı. Bu nedenle iki diÄŸer kiÅŸi ile karşılaÅŸma günlüğe kaydedilmez."</string> + <string name="settings_tracing_bluetooth_illustration_description_inactive">"Bir kiÅŸi akıllı telefonunda Bluetooth\'u kapattı. Bu nedenle iki diÄŸer kiÅŸi ile karşılaÅŸma günlüğe kaydedilmez."</string> <!-- XACT: settings(tracing) - describes illustration --> - <string name="settings_tracing_connection_illustration_description_inactive">"Bir kiÅŸi cihazında Ä°nternet baÄŸlantısını kapattı. Bu nedenle iki diÄŸer kiÅŸi ile karşılaÅŸma günlüğe kaydedilmez."</string> + <string name="settings_tracing_connection_illustration_description_inactive">"Bir kiÅŸi akıllı telefonunda Ä°nternet baÄŸlantısını kapattı. Bu nedenle iki diÄŸer kiÅŸi ile karşılaÅŸma günlüğe kaydedilmez."</string> <!-- XHED: settings(notification) - notification page title --> <string name="settings_notifications_title">"Bildirimler"</string> @@ -515,7 +542,7 @@ <!-- XBUT: settings(reset) - cancel reset and navigates the suer back to the settings --> <string name="settings_reset_button_negative">"Ä°ptal"</string> <!-- XACT: main (overview) - illustraction description, explanation image --> - <string name="settings_reset_illustration_description">"Bir kiÅŸi, uygulamanın sıfırlandığını gösteren sembolün bulunduÄŸu bir cihaz tutuyor."</string> + <string name="settings_reset_illustration_description">"Bir kiÅŸi, uygulamanın sıfırlandığını gösteren sembolün bulunduÄŸu bir akıllı telefon tutuyor."</string> <!-- XHED: settings(reset) - dialog headline --> <string name="settings_reset_dialog_headline">"Uygulamayı Sıfırla"</string> <!-- XTXT: settings(reset) - dialog content --> @@ -554,15 +581,15 @@ <!-- XHED: Subtitle for about information page --> <string name="information_about_headline">"Koronavirüs ile birlikte mücadele edelim"</string> <!-- YTXT: Body text for about information page --> - <string name="information_about_body_emphasized">"Robert Koch Institute (RKI), Almanya Federal Cumhuriyeti\'nde kamu saÄŸlığı alanında merkezi kurumdur. RKI, federal hükûmet için Corona-Warn-App uygulamasını yayınlamaktadır. Uygulama, daha önce açıklanan kamu saÄŸlığı önlemlerine iliÅŸkin dijital bir uzantı niteliÄŸindedir: sosyal mesafe, hijyen uygulamaları ve yüz maskeleri."</string> + <string name="information_about_body_emphasized">"Robert Koch Institute (RKI), Almanya\'nın federal kamu saÄŸlığı kurumudur. RKI, Federal Hükûmet adına Corona-Warn-App uygulamasını yayınlamaktadır. Uygulama, daha önce açıklanan kamu saÄŸlığı önlemlerine iliÅŸkin dijital bir uzantı niteliÄŸindedir: sosyal mesafe, hijyen uygulamaları ve yüz maskeleri."</string> <!-- YTXT: Body text for about information page --> <string name="information_about_body">"Uygulamayı kullanan herkes, enfeksiyon zincirlerinin takip edilmesine ve kırılmasına yardımcı olur. Uygulama, diÄŸer kiÅŸilerle karşılaÅŸmaları cihazınızda yerel olarak kaydeder. Daha sonra COVID-19 tanısı konan kiÅŸilerle karşılaÅŸmışsanız size bildirim gönderilir. KimliÄŸiniz ve gizliliÄŸiniz daima koruma altındadır."</string> <!-- XACT: describes illustration --> - <string name="information_about_illustration_description">"Bölgedeki bir grup insan cihazlarını kullanıyor."</string> + <string name="information_about_illustration_description">"Bölgedeki bir grup insan akıllı telefonlarını kullanıyor."</string> <!-- XHED: Page title for privacy information page, also menu item / button text --> <string name="information_privacy_title">"Veri GizliliÄŸi"</string> <!-- XACT: describes illustration --> - <string name="information_privacy_illustration_description">"Bir kadın cihazında Corona-Warn-App\'i kullanıyor. Kılıftaki kilit, ÅŸifrelenmiÅŸ verilerin sembolüdür."</string> + <string name="information_privacy_illustration_description">"Bir kadın akıllı telefonunda Corona-Warn-App\'i kullanıyor. Kılıfın arka planındaki kilit, ÅŸifrelenmiÅŸ verilerin simgesidir."</string> <!-- XTXT: Path to the full blown privacy html, to translate it exchange "_de" to "_en" and provide the corresponding html file --> <string name="information_privacy_html_path">"privacy_tr.html"</string> <!-- XHED: Page title for terms of use information page, also menu item / button text --> @@ -570,7 +597,7 @@ <!-- XHED: Page headline for terms of use information page --> <string name="information_terms_headline">"İçerik"</string> <!-- XACT: describes illustration --> - <string name="information_terms_illustration_description">"Bir kiÅŸi ekranında uzun bir metin olan bir cihaz tutuyor. Metnin yanında kullanım koÅŸullarını kabul ettiÄŸini belirten bir sembol olarak tik iÅŸareti bulunuyor."</string> + <string name="information_terms_illustration_description">"Bir kiÅŸi ekranında uzun bir metin olan bir akıllı telefon tutuyor. Metnin yanında kullanım koÅŸullarının kabul edildiÄŸini belirten bir sembol olarak tik iÅŸareti bulunuyor."</string> <!-- XTXT: Path to the full blown terms html, to translate it exchange "_de" to "_en" and provide the corresponding html file --> <string name="information_terms_html_path">"terms_tr.html"</string> <!-- XHED: Page title for technical contact and hotline information page, also menu item / button text --> @@ -600,7 +627,7 @@ <!-- XHED: Page title for technical information page, also menu item / button text --> <string name="information_technical_title">"Yasal Bildirimler"</string> <!-- XACT: describes illustration --> - <string name="information_technical_illustration_description">"Bir kiÅŸi ekranında uzun bir metin olan bir cihaz tutuyor. Metnin yanında yasal bildirimlerin sembolü olarak bir terazi bulunuyor"</string> + <string name="information_technical_illustration_description">"Bir kiÅŸi ekranında uzun bir metin olan bir akıllı telefon tutuyor. Metnin yanında yasal bildirimleri belirten bir terazi bulunuyor."</string> <!-- XTXT: Path to the full blown legal html, to translate it exchange "_de" to "_en" and provide the corresponding html file --> <string name="information_technical_html_path">"technical_tr.html"</string> <!-- XHED: Page title for legal information page, also menu item / button text --> @@ -620,7 +647,7 @@ <!-- YTXT: subtitle for legal information page, tax section --> <string name="information_legal_subtitle_taxid">"DE 165 893 430"</string> <!-- XACT: describes illustration --> - <string name="information_legal_illustration_description">"Bir kiÅŸi ekranında uzun bir metin olan bir cihaz tutuyor. Metnin yanında baskıyı belirten bir bölüm sembolü bulunuyor."</string> + <string name="information_legal_illustration_description">"Bir kiÅŸi ekranında uzun bir metin olan bir akıllı telefon tutuyor. Metnin yanında baskıyı temsil eden bir bölüm bulunuyor."</string> <!-- #################################### @@ -820,7 +847,7 @@ <!-- XHED: Title for the privacy card--> <string name="submission_positive_other_warning_privacy_title">"Veri GizliliÄŸi"</string> <!-- YTXT: Body text for the privacy card--> - <string name="submission_positive_other_warning_privacy_body">"\"Kabul Et\" seçeneÄŸine dokunduÄŸunuzda, Uygulamanın maruz kalma günlüğü özelliÄŸini etkinleÅŸtiren diÄŸer kullanıcılarını enfeksiyon riskine maruz kalmış olabilecekleri konusunda otomatik olarak bilgilendirmesi için Uygulamanın pozitif test sonucunuzu son 14 güne ait rastgele kimliklerinizle birlikte Uygulamanın sunucu sistemine göndermesine onay verirsiniz. Bu amaçla aktarılan rastgele kimlikler, kimliÄŸinizi belirlemek üzere kullanılabilecek hiçbir bilgi içermez. \n\nTest sonucunuzu Uygulama üzerinden aktarma seçeneÄŸi gönüllülük esasına dayalıdır. Test sonucunuzu aktarmamanız halinde hiçbir cezai iÅŸlemle karşılaÅŸmayacaksınız. Uygulamayı kullanıp kullanmadığınızı ve nasıl kullandığınızı takip etmek ya da kontrol etmek mümkün olmadığından enfekte olduÄŸunuz bilgisini aktardığınızı yalnızca siz bilirsiniz.\n\nUygulamayı silerek dilediÄŸiniz zaman bu onayı geri çekebilirsiniz. Onayınızı geri çekmeniz, onayınızı geri çekmeden önce testi iÅŸlemenin hukuki niteliÄŸini etkilemeyecektir. Menüde \"Veri GizliliÄŸi Bilgileri\" baÅŸlığında daha fazla bilgiye eriÅŸebilirsiniz."</string> + <string name="submission_positive_other_warning_privacy_body">"\"Kabul et\" seçeneÄŸine dokunduÄŸunuzda, Uygulamanın pozitif test sonucunuzu son 14 güne ait rastgele kimliklerinizle birlikte uygulamanın sunucu sistemine göndermesine izin vermiÅŸ olursunuz, bu sayede maruz kalma günlüğünü etkinleÅŸtirmiÅŸ olan diÄŸer Uygulama kullanıcıları otomatik ÅŸekilde bilgilendirilebilir. Ä°letilen rastgele kimlikler, kimliÄŸiniz ya da kiÅŸiliÄŸinize iliÅŸkin sonuç çıkartacak hiçbir bilgi içermez. \n\nTest sonucunuzun Uygulama aracılığıyla iletilmesi, isteÄŸe baÄŸlıdır. Test sonucunuzu iletmezseniz size hiçbir dezavantajı olmaz. Uygulamayı kullanıp kullanmadığınızı ve nasıl kullandığınızı anlayamadığımız ve kontrol edemediÄŸimiz için enfeksiyonu bulaÅŸtırıp bulaÅŸtırmadığınızı sizden baÅŸka kimse öğrenemez.\n\nUygulamayı silerek, onayınızı dilediÄŸinizde geri alabilirsiniz. Onayın geri alınmasıyla, geri almaya kadar yapılmış veri iÅŸlemelerin hukuka uygunlukları bu durumdan etkilenmez. \"Veri GizliliÄŸi Bilgileri\" menüsünden diÄŸer bilgilere ulaÅŸabilirsiniz."</string> <!-- XBUT: other warning continue button --> <string name="submission_positive_other_warning_button">"Sonraki"</string> <!-- XACT: other warning - illustration description, explanation image --> @@ -934,7 +961,7 @@ <!-- YTXT: invalid status text --> <string name="test_result_card_status_invalid">"DeÄŸerlendirme yapılamaz"</string> <!-- YTXT: pending status text --> - <string name="test_result_card_status_pending">"Sonucunuz çıkmadı"</string> + <string name="test_result_card_status_pending">"Sonucunuz henüz çıkmadı"</string> <!-- XHED: Title for further info of test result negative --> <string name="test_result_card_negative_further_info_title">"DiÄŸer bilgiler:"</string> <!-- YTXT: Content for further info of test result negative --> @@ -973,6 +1000,8 @@ <string name="errors_external_action">"Bu iÅŸlemi gerçekleÅŸtiremezsiniz. Lütfen yardım hattı ile iletiÅŸime geçin."</string> <!-- XTXT: error dialog - phone still needs Google Play Services or Google Mobile Services update --> <string name="errors_google_update_needed">"Corona-Warn-App uygulamanız doÄŸru ÅŸekilde yüklendi ancak akıllı telefonunuzun iÅŸletim sisteminde \"COVID-19 maruz kalma bildirimleri\" hizmeti yok. Bu, Corona-Warn-App\'i kullanamayacağınız anlamına geliyor. Daha fazla bilgi için lütfen SSS sayfamıza bakın: https://www.coronawarn.app/en/faq/"</string> + <!-- XTXT: error dialog - either Google API Error (10) or reached request limit per day --> + <string name="errors_google_api_error">"Corona-Warn-App doÄŸru ÅŸekilde çalışıyor ancak mevcut risk durumunuzu güncelleyemiyoruz. Maruz kalma günlüğü aktif ve doÄŸru ÅŸekilde çalışıyor. Daha fazla bilgi için lütfen SSS sayfamıza bakın: https://www.coronawarn.app/en/faq/ \n"</string> <!-- #################################### Generic Error Messages @@ -994,7 +1023,7 @@ <!-- NOTR --> <string name="lorem_ipsum">"Lorem Ipsum"</string> <!-- NOTR --> - <string name="menu_test_api">"Test API\'si"</string> + <string name="menu_test_api">"Test API"</string> <!-- NOTR --> <string name="menu_test_risk_level">"Test Risk Level"</string> <!-- NOTR --> diff --git a/Corona-Warn-App/src/main/res/values/strings.xml b/Corona-Warn-App/src/main/res/values/strings.xml index 4688db99fa4f71c8d270a132f6f6591a9ae55f98..f4952b9429a6f24a2a8fc30fe5d7793fb059cff2 100644 --- a/Corona-Warn-App/src/main/res/values/strings.xml +++ b/Corona-Warn-App/src/main/res/values/strings.xml @@ -132,11 +132,15 @@ ###################################### --> <!-- XTXT: risk card - no contact yet --> - <string name="risk_card_body_contact">"No exposures up to now"</string> + <string name="risk_card_body_contact">"No exposure up to now"</string> <!-- XTXT: risk card - number of contacts for one or more --> <plurals name="risk_card_body_contact_value"> <item quantity="one">"%1$s exposure"</item> <item quantity="other">"%1$s exposures"</item> + <item quantity="zero">"%1$s exposures"</item> + <item quantity="two">"%1$s exposures"</item> + <item quantity="few">"%1$s exposures"</item> + <item quantity="many">"%1$s exposures"</item> </plurals> <!-- XTXT: risk card - tracing active for x out of 14 days --> <string name="risk_card_body_saved_days">"Exposure logging was active for %1$s of the last 14 days"</string> @@ -164,6 +168,10 @@ <plurals name="risk_card_increased_risk_body_contact_last"> <item quantity="one">"%1$s day since the last encounter"</item> <item quantity="other">"%1$s days since the last encounter"</item> + <item quantity="zero">"%1$s days since the last encounter"</item> + <item quantity="two">"%1$s days since the last encounter"</item> + <item quantity="few">"%1$s days since the last encounter"</item> + <item quantity="many">"%1$s days since the last encounter"</item> </plurals> <!-- XHED: risk card - unknown risk headline --> <string name="risk_card_unknown_risk_headline">"Unknown Risk"</string> @@ -177,6 +185,8 @@ <string name="risk_card_outdated_risk_headline">"Exposure logging is not possible"</string> <!-- XTXT: risk card - outdated risk, calculation couldn't be updated in the last 24 hours --> <string name="risk_card_outdated_risk_body">"Your exposure logging could not be updated for more than 24 hours."</string> + <!-- XTXT: risk card - outdated risk manual, calculation couldn't be updated in the last 48 hours --> + <string name="risk_card_outdated_manual_risk_body">"Your risk status has not been updated for more than 48 hours. Please update your risk status."</string> <!-- XHED: risk card - loading headline, update is ongoing --> <string name="risk_card_loading_headline">"Check is running…"</string> <!-- XTXT: risk card - loading, data is downloaded and will be checked, this can take several minutes --> @@ -210,7 +220,7 @@ <!-- YMSG: Message when sharing is executed --> <string name="main_share_message">"Fighting coronavirus together"<xliff:g id="line_break">"\n"</xliff:g>"I\'m in on this, you too?"<xliff:g id="line_break">"\n"</xliff:g><xliff:g id="link_play_store">"https://www.corona-warn-app.de"</xliff:g>"\n"<xliff:g id="line_break">"\n"</xliff:g></string> <!-- XACT: main (share) - illustraction description, explanation image --> - <string name="main_share_illustration_description">"One man is sharing the Corona-Warn-App with four other people."</string> + <string name="main_share_illustration_description">"A man shares the Corona-Warn-App with four other persons."</string> <!-- #################################### Main - Overview @@ -261,9 +271,9 @@ <!-- XHED: App overview subtitle for glossary keys --> <string name="main_overview_subtitle_glossary_keys">"Random IDs"</string> <!-- YTXT: App overview body for glossary keys --> - <string name="main_overview_body_glossary_keys">"Random IDs are combinations of digits and letters generated randomly. They are exchanged between devices in close proximity. Random IDs cannot be assigned to a specific person and are automatically deleted after 14 days. People diagnosed with COVID-19 can opt to share their random IDs of up to the last 14 days with other app users."</string> + <string name="main_overview_body_glossary_keys">"Random IDs are combinations of digits and letters generated randomly. They are exchanged between devices in close proximity. Random IDs cannot be traced to a specific person and are automatically deleted after 14 days. Persons diagnosed with COVID-19 can opt to share their random IDs of up to the last 14 days with other app users."</string> <!-- XACT: main (overview) - illustraction description, explanation image --> - <string name="main_overview_illustration_description">"One device shows different content numbered from 1 to 3."</string> + <string name="main_overview_illustration_description">"A smartphone displays various content, numbered 1 to 3."</string> <!-- XACT: App main page title --> <string name="main_title">"Main page of the Corona-Warn-App"</string> @@ -274,7 +284,7 @@ <!-- XHED: risk details - page title, in toolbar --> <string name="risk_details_title">"Your Risk Status"</string> <!-- XHED: risk details - headline, how a user should act --> - <string name="risk_details_headline_behavior">"Recommendations"</string> + <string name="risk_details_headline_behavior">"Guidelines"</string> <!-- XHED: risk details - multiline headline, bold, how to act correct --> <string name="risk_details_subtitle_behavior">"This is what you should do"</string> <!-- XMSG: risk details - go/stay home, something like a bullet point --> @@ -319,6 +329,10 @@ <plurals name="risk_details_information_body_increased_risk"> <item quantity="one">"You have a higher risk of infection because you were last exposed %1$s day ago over a longer period of time and in close proximity to at least one person diagnosed with COVID-19."</item> <item quantity="other">"You have a higher risk of infection because you were last exposed %1$s days ago over a longer period of time and in close proximity to at least one person diagnosed with COVID-19."</item> + <item quantity="zero">"You have a higher risk of infection because you were last exposed %1$s days ago over a longer period of time and in close proximity to at least one person diagnosed with COVID-19."</item> + <item quantity="two">"You have a higher risk of infection because you were last exposed %1$s days ago over a longer period of time and in close proximity to at least one person diagnosed with COVID-19."</item> + <item quantity="few">"You have a higher risk of infection because you were last exposed %1$s days ago over a longer period of time and in close proximity to at least one person diagnosed with COVID-19."</item> + <item quantity="many">"You have a higher risk of infection because you were last exposed %1$s days ago over a longer period of time and in close proximity to at least one person diagnosed with COVID-19."</item> </plurals> <!-- YTXT: risk details - risk calculation explanation --> <string name="risk_details_information_body_notice">"Your risk of infection is calculated from the exposure logging data (duration and proximity) locally on your device. Your risk of infection cannot be seen by, or passed on to, anyone else."</string> @@ -333,7 +347,6 @@ <string name="risk_details_explanation_dialog_title">Information about exposure logging functionality</string> <!-- YTXT: one time risk explanation dialog - pointing to the faq page for more information--> <string name="risk_details_explanation_dialog_faq_body">For further information, please see our FAQ page.</string> - <!-- #################################### Onboarding ###################################### --> @@ -361,14 +374,14 @@ <!-- YTXT: onboarding(together) - explain application --> <string name="onboarding_body_emphasized">"The app logs encounters between individuals by exchanging encrypted, random IDs between their devices, whereby no personal data whatsoever is accessed."</string> <!-- XACT: onboarding(together) - illustraction description, header image --> - <string name="onboarding_illustration_description">"A group of people are all using their devices in town."</string> + <string name="onboarding_illustration_description">"A group of persons use their smartphones around town."</string> <!-- XACT: Onboarding (privacy) page title --> <string name="onboarding_privacy_accessibility_title">"Onboarding page 2 of 5: Data Privacy. A long text follows. To proceed at any time, use the button at the bottom of the screen."</string> <!-- XHED: onboarding(privacy) - title --> <string name="onboarding_privacy_headline">"Data Privacy"</string> <!-- XACT: onboarding(privacy) - illustraction description, header image --> - <string name="onboarding_privacy_illustration_description">"One of the women is using the Corona-Warn-App on her device. The padlock on the shield is the symbol for encrypted data."</string> + <string name="onboarding_privacy_illustration_description">"A woman uses the Corona-Warn-App on her smartphone. An icon showing a padlock on the background of a shield symbolizes encrypted data."</string> <!-- XACT: Onboarding (tracing) page title --> <string name="onboarding_tracing_accessibility_title">"Onboarding page 3 of 5: How to Enable Exposure Logging"</string> <!-- XHED: onboarding(tracing) - how to enable tracing --> @@ -395,6 +408,20 @@ <string name="onboarding_tracing_dialog_button_negative">"Back"</string> <!-- XACT: onboarding(tracing) - illustraction description, header image --> <string name="onboarding_tracing_illustration_description">"Three people have activated exposure logging on their devices, which will log their encounters with each other."</string> + <!-- XACT: onboarding(tracing) - dialog about background jobs header text --> + <string name="onboarding_background_fetch_dialog_headline">""</string> + <!-- YMSI: onboarding(tracing) - dialog about background jobs --> + <string name="onboarding_background_fetch_dialog_body">""</string> + <!-- XBUT: onboarding(tracing) - dialog about background jobs, open device settings --> + <string name="onboarding_background_fetch_dialog_button_positive">""</string> + <!-- XBUT: onboarding(tracing) - dialog about background jobs, continue in app --> + <string name="onboarding_background_fetch_dialog_button_negative">""</string> + <!-- XHED: onboarding(tracing) - location explanation for bluetooth headline --> + <string name="onboarding_tracing_location_headline">"Allow location access"</string> + <!-- XTXT: onboarding(tracing) - location explanation for bluetooth body text --> + <string name="onboarding_tracing_location_body">"Your location cannot be accessed. Google and/or Android requires access to your device\'s location to use Bluetooth."</string> + <!-- XBUT: onboarding(tracing) - button enable tracing --> + <string name="onboarding_tracing_location_button">"Open Device Settings"</string> <!-- XACT: Onboarding (test) page title --> <string name="onboarding_test_accessibility_title">"Onboarding page 4 of 5: If you are diagnosed with COVID-19..."</string> <!-- XHED: onboarding(test) - about positive tests --> @@ -414,7 +441,7 @@ <!-- YTXT: onboarding(datashare) - explain test --> <string name="onboarding_notifications_body">"You can then self-isolate to protect others and find out where you can get tested."</string> <!-- XACT: onboarding(notifications) - illustraction description, header image --> - <string name="onboarding_notifications_illustration_description">"One woman receives a notification from her Corona-Warn-App."</string> + <string name="onboarding_notifications_illustration_description">"A woman receives a notification from her Corona-Warn-App."</string> <!-- #################################### Settings @@ -433,9 +460,11 @@ <!-- XTXT: settings(tracing) - explain text in settings overview under headline --> <string name="settings_tracing_body_description">"Allow COVID-19 random IDs to be generated and shared."</string> <!-- XTXT: settings(tracing) - shows status under header in home, active --> - <string name="settings_tracing_body_active">"Exposure logging active"</string> + <string name="settings_tracing_body_active">"Exposure Logging Active"</string> <!-- XTXT: settings(tracing) - shows status under header in home, inactive --> <string name="settings_tracing_body_inactive">"Exposure logging stopped"</string> + <!-- XTXT: settings(tracing) - shows status under header in home, inactive location --> + <string name="settings_tracing_body_inactive_location">"Location services disabled"</string> <!-- YTXT: settings(tracing) - explains tracings --> <string name="settings_tracing_body_text">"Exposure logging works by your device receiving, via Bluetooth, encrypted random IDs of other users and passing your random ID to their devices. This feature can be deactivated at any time. "<xliff:g id="line_break">"\n"</xliff:g><xliff:g id="line_break">"\n"</xliff:g>"Encrypted random IDs only pass information about date, duration, and proximity (calculated using signal strength) to other people. Personal data such as name, address, and location is never recorded. Individuals cannot be identified."</string> <!-- XTXT: settings(tracing) - status next to switch under title --> @@ -464,15 +493,19 @@ <plurals name="settings_tracing_status_body_active"> <item quantity="one">"Exposure logging has been active for one day.\nAn exposure check can only be reliable if exposure logging is permanently activated."</item> <item quantity="other">"Exposure logging has been active for %1$s days.\nAn exposure check can only be reliable if exposure logging is permanently activated."</item> + <item quantity="zero">"Exposure logging has been active for %1$s days.\nAn exposure check can only be reliable if exposure logging is permanently activated."</item> + <item quantity="two">"Exposure logging has been active for %1$s days.\nAn exposure check can only be reliable if exposure logging is permanently activated."</item> + <item quantity="few">"Exposure logging has been active for %1$s days.\nAn exposure check can only be reliable if exposure logging is permanently activated."</item> + <item quantity="many">"Exposure logging has been active for %1$s days.\nAn exposure check can only be reliable if exposure logging is permanently activated."</item> </plurals> <!-- XACT: settings(tracing) - describes illustration --> <string name="settings_tracing_illustration_description_active">"Three people have activated exposure logging on their devices, which will log their encounters with each other."</string> <!-- XACT: settings(tracing) - describes illustration --> - <string name="settings_tracing_illustration_description_inactive">"One person has deactivated exposure logging on their device, so an encounter with two other people is not logged."</string> + <string name="settings_tracing_illustration_description_inactive">"A person has deactivated exposure logging on their smartphone, so an encounter with two other persons is not logged."</string> <!-- XACT: settings(tracing) - describes illustration --> - <string name="settings_tracing_bluetooth_illustration_description_inactive">"One person has turned off Bluetooth on their device, so an encounter with two other people is not logged."</string> + <string name="settings_tracing_bluetooth_illustration_description_inactive">"A person has turned off Bluetooth on their smartphone, so an encounter with two other persons is not logged."</string> <!-- XACT: settings(tracing) - describes illustration --> - <string name="settings_tracing_connection_illustration_description_inactive">"One person has turned off the Internet connection on their device, so an encounter with two other people is not logged."</string> + <string name="settings_tracing_connection_illustration_description_inactive">"A person has turned off the Internet connection on their smartphone, so an encounter with two other persons is not logged."</string> <!-- XHED: settings(notification) - notification page title --> <string name="settings_notifications_title">"Notifications"</string> @@ -497,9 +530,9 @@ <!-- XBUT: settings(notification) - go to operating settings --> <string name="settings_notifications_button_open_settings">"Open Device Settings"</string> <!-- XACT: main (overview) - illustraction description, explanation image, displays notificatin status, active --> - <string name="settings_notifications_illustration_description_active">"One woman receives a notification from her Corona-Warn-App."</string> + <string name="settings_notifications_illustration_description_active">"A woman receives a notification from her Corona-Warn-App."</string> <!-- XACT: main (overview) - illustraction description, explanation image, displays notificatin status, inactive --> - <string name="settings_notifications_illustration_description_inactive">"One woman has deactivated notifications for her Corona-Warn-App."</string> + <string name="settings_notifications_illustration_description_inactive">"A woman has deactivated notifications for her Corona-Warn-App."</string> <!-- XBUT: settings - go to reset application --> <string name="settings_reset_title">"Reset App"</string> <!-- XTXT: settings(reset) - explains the user what do expect when he navigates to reset --> @@ -517,7 +550,7 @@ <!-- XBUT: settings(reset) - cancel reset and navigates the suer back to the settings --> <string name="settings_reset_button_negative">"Cancel"</string> <!-- XACT: main (overview) - illustraction description, explanation image --> - <string name="settings_reset_illustration_description">"One person is holding a device displaying a symbol indicating that the app is being reset."</string> + <string name="settings_reset_illustration_description">"A hand holds a smartphone displaying a symbol indicating that the app is being reset."</string> <!-- XHED: settings(reset) - dialog headline --> <string name="settings_reset_dialog_headline">"Reset App"</string> <!-- XTXT: settings(reset) - dialog content --> @@ -556,15 +589,15 @@ <!-- XHED: Subtitle for about information page --> <string name="information_about_headline">"Let\'s fight coronavirus together"</string> <!-- YTXT: Body text for about information page --> - <string name="information_about_body_emphasized">"The Robert Koch Institute (RKI) is Germany’s central body for the Federal States of Germany in the field of public health. The RKI is publishing the Corona-Warn-App for the federal government. The app represents the digital extension to the public health measures already introduced: social distancing, hygiene behavior, and face masks."</string> + <string name="information_about_body_emphasized">"Robert Koch Institute (RKI) is Germany’s federal public health body. The RKI publishes the Corona-Warn-App in the name of the Federal Government. The app represents the digital extension of public health measures already introduced: social distancing, hygiene, and face masks."</string> <!-- YTXT: Body text for about information page --> <string name="information_about_body">"Whoever uses the app helps to trace and break chains of infection. The app saves encounters with other people locally on your device. You are notified if you have encountered people who were later diagnosed with COVID-19. Your identity and privacy are always protected."</string> <!-- XACT: describes illustration --> - <string name="information_about_illustration_description">"A group of people are all using their devices in town."</string> + <string name="information_about_illustration_description">"A group of persons use their smartphones around town."</string> <!-- XHED: Page title for privacy information page, also menu item / button text --> <string name="information_privacy_title">"Data Privacy"</string> <!-- XACT: describes illustration --> - <string name="information_privacy_illustration_description">"One of the women is using the Corona-Warn-App on her device. The padlock on the shield is the symbol for encrypted data."</string> + <string name="information_privacy_illustration_description">"A woman uses the Corona-Warn-App on her smartphone. An icon showing a padlock on the background of a shield symbolizes encrypted data."</string> <!-- XTXT: Path to the full blown privacy html, to translate it exchange "_de" to "_en" and provide the corresponding html file --> <string name="information_privacy_html_path">"privacy_en.html"</string> <!-- XHED: Page title for terms of use information page, also menu item / button text --> @@ -572,7 +605,7 @@ <!-- XHED: Page headline for terms of use information page --> <string name="information_terms_headline">"Content"</string> <!-- XACT: describes illustration --> - <string name="information_terms_illustration_description">"One person is holding a device with a lot of text on the screen. Next to the text is a tick, which is the symbol for accepting the terms of use."</string> + <string name="information_terms_illustration_description">"A hand holds a smartphone displaying a large body of text on the screen. Next to the text is a tick mark symbolizing that the terms of use have been accepted."</string> <!-- XTXT: Path to the full blown terms html, to translate it exchange "_de" to "_en" and provide the corresponding html file --> <string name="information_terms_html_path">"terms_en.html"</string> <!-- XHED: Page title for technical contact and hotline information page, also menu item / button text --> @@ -594,7 +627,7 @@ <!-- YTXT: Body text for technical contact and hotline information page --> <string name="information_contact_body_other">"If you have any health-related questions, please contact your general practitioner or the hotline for the medical emergency service, telephone: 116 117."</string> <!-- XACT: describes illustration --> - <string name="information_contact_illustration_description">"One man is wearing a headset while he is telephoning."</string> + <string name="information_contact_illustration_description">"A man wears a headset while making a phone call."</string> <!-- XLNK: Menu item / hyper link / button text for navigation to FAQ website --> <string name="information_help_title">"FAQ"</string> <!-- XACT: accessibility hint --> @@ -602,7 +635,7 @@ <!-- XHED: Page title for technical information page, also menu item / button text --> <string name="information_technical_title">"Legal Notices"</string> <!-- XACT: describes illustration --> - <string name="information_technical_illustration_description">"One person is holding a device with a lot of text on the screen. Next to the text is a balance scale, which is the symbol for legal notices"</string> + <string name="information_technical_illustration_description">"A hand holds a smartphone displaying a large body of text on the screen. Next to the text is a balance scale that symbolizes legal notices."</string> <!-- XTXT: Path to the full blown legal html, to translate it exchange "_de" to "_en" and provide the corresponding html file --> <string name="information_technical_html_path">"technical_en.html"</string> <!-- XHED: Page title for legal information page, also menu item / button text --> @@ -622,7 +655,7 @@ <!-- YTXT: subtitle for legal information page, tax section --> <string name="information_legal_subtitle_taxid">"DE 165 893 430"</string> <!-- XACT: describes illustration --> - <string name="information_legal_illustration_description">"One person is holding a device with a lot of text on the screen. Next to the text is a section symbol representing the imprint."</string> + <string name="information_legal_illustration_description">"A hand holds a smartphone displaying a large body of text on the screen. Next to the text is a section symbol representing the imprint."</string> <!-- #################################### @@ -826,7 +859,7 @@ <!-- XBUT: other warning continue button --> <string name="submission_positive_other_warning_button">"Next"</string> <!-- XACT: other warning - illustration description, explanation image --> - <string name="submission_positive_other_illustration_description">"A device is transmitting an encrypted positive test diagnosis to the system."</string> + <string name="submission_positive_other_illustration_description">"A device transmits an encrypted positive test diagnosis to the system."</string> <!-- Submission Done --> @@ -846,7 +879,7 @@ <string-array name="submission_done_further_info_bullet_points"> <item>"Your quarantine period is usually 14 days. Please observe your symptoms and monitor how they develop."</item> <item>"You will be asked by your public health authority to create a list of people you have had contact with. This should include all people with whom you have had close contact with (less than 2 meters, face-to-face conversation) for over 15 minutes in the two days before you developed symptoms."</item> - <item>"Please think especially about the people who will not be notified directly by the app since they don\'t have a device, or haven\'t installed the app."</item> + <item>"Please particularly consider people who will not be notified directly by the app since they don\'t own a smartphone, or haven\'t installed the app."</item> <item>"Even when you no longer have any symptoms and you feel well again, you could still be infectious."</item> </string-array> <!-- XBUT: submission finished button --> @@ -936,7 +969,7 @@ <!-- YTXT: invalid status text --> <string name="test_result_card_status_invalid">"Evaluation is not possible"</string> <!-- YTXT: pending status text --> - <string name="test_result_card_status_pending">"Your result is not available"</string> + <string name="test_result_card_status_pending">"Your result is not yet available"</string> <!-- XHED: Title for further info of test result negative --> <string name="test_result_card_negative_further_info_title">"Other information:"</string> <!-- YTXT: Content for further info of test result negative --> @@ -968,13 +1001,15 @@ <!-- XTXT: error dialog - detailed text if device is offline --> <string name="errors_no_network">"You are not connected to the Internet."</string> <!-- XTXT: error dialog - detailed text if device has not enough device space --> - <string name="errors_not_enough_device_storage">"You do not have enough memory available."</string> + <string name="errors_not_enough_device_storage">"You do not have sufficient free memory."</string> <!-- XTXT: error dialog - detailed text if there is error with Google API --> - <string name="errors_communication_with_api">"Error when communicating with Google API"</string> + <string name="errors_communication_with_api">"Error during communication with Google interface"</string> <!-- XTXT: error dialog - detailed text if there is an error during external navigation / external action --> <string name="errors_external_action">"You cannot perform this action. Please contact the hotline."</string> <!-- XTXT: error dialog - phone still needs Google Play Services or Google Mobile Services update --> - <string name="errors_google_update_needed">"Your Corona-Warn-App was installed correctly. Unfortunately, COVID-19 Exposure Notifications is currently not available on your device and you cannot use the Corona-Warn-App. Further information is available on our FAQ page: https://www.coronawarn.app/en/faq/ \n"</string> + <string name="errors_google_update_needed">"Your Corona-Warn-App is correctly installed, but the \"COVID-19 exposure notifications\" service is not available on your smartphone\'s operating system. This means that you cannot use the Corona-Warn-App. For further information, please see our FAQ page: https://www.coronawarn.app/en/faq/"</string> + <!-- XTXT: error dialog - either Google API Error (10) or reached request limit per day --> + <string name="errors_google_api_error">"The Corona-Warn-App is running correctly, but we cannot update your current risk status. Exposure logging remains active and is working correctly. For further information, please see our FAQ page: https://www.coronawarn.app/en/faq/ \n"</string> <!-- #################################### Generic Error Messages diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/exception/reporting/ReportingConstantsTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/exception/reporting/ReportingConstantsTest.kt index e36b07a4672da41b0a5046a442bf6b0ed5f338b8..f4cd845c587ad0259735065512af4c671e6030b8 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/exception/reporting/ReportingConstantsTest.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/exception/reporting/ReportingConstantsTest.kt @@ -14,8 +14,13 @@ class ReportingConstantsTest { Assert.assertEquals(ReportingConstants.ERROR_REPORT_MESSAGE_EXTRA, "message") Assert.assertEquals(ReportingConstants.ERROR_REPORT_STACK_EXTRA, "stack") Assert.assertEquals(ReportingConstants.ERROR_REPORT_CODE_EXTRA, "code") - Assert.assertEquals(ReportingConstants.ERROR_REPORT_API_EXCEPTION_CODE, "api-exception-code") + Assert.assertEquals( + ReportingConstants.ERROR_REPORT_API_EXCEPTION_CODE, + "api-exception-code" + ) Assert.assertEquals(ReportingConstants.ERROR_REPORT_RES_ID, "res-id") Assert.assertEquals(ReportingConstants.STATUS_CODE_GOOGLE_UPDATE_NEEDED, 17) + Assert.assertEquals(ReportingConstants.STATUS_CODE_REACHED_REQUEST_LIMIT, 39508) + Assert.assertEquals(ReportingConstants.STATUS_CODE_GOOGLE_API_FAIL, 10) } } diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/transaction/RiskLevelTransactionTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/transaction/RiskLevelTransactionTest.kt index b22992e9f43e4d35ba26f2712b7347f851dbb305..afdac4dc5f2990e40d7de6403b7f421357df47f1 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/transaction/RiskLevelTransactionTest.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/transaction/RiskLevelTransactionTest.kt @@ -11,6 +11,7 @@ import de.rki.coronawarnapp.risk.RiskLevel.NO_CALCULATION_POSSIBLE_TRACING_OFF import de.rki.coronawarnapp.risk.RiskLevel.UNDETERMINED import de.rki.coronawarnapp.risk.RiskLevel.UNKNOWN_RISK_INITIAL import de.rki.coronawarnapp.risk.RiskLevel.UNKNOWN_RISK_OUTDATED_RESULTS +import de.rki.coronawarnapp.risk.RiskLevel.UNKNOWN_RISK_OUTDATED_RESULTS_MANUAL import de.rki.coronawarnapp.risk.TimeVariables import de.rki.coronawarnapp.server.protocols.ApplicationConfigurationOuterClass import de.rki.coronawarnapp.server.protocols.ApplicationConfigurationOuterClass.RiskScoreClass @@ -150,6 +151,57 @@ class RiskLevelTransactionTest { TimeVariables.getMinActivatedTracingTime().plus(1).toLong() ) + // background jobs are enabled + every { ConnectivityHelper.isBackgroundJobEnabled(CoronaWarnApplication.getAppContext()) } returns true + + runBlocking { + + RiskLevelTransaction.start() + + coVerifyOrder { + RiskLevelTransaction.start() + + RiskLevelTransaction["executeCheckTracing"]() + RiskLevelTransaction["isValidResult"](UNDETERMINED) + + RiskLevelTransaction["executeCheckUnknownRiskInitialNoKeys"]() + RiskLevelTransaction["isValidResult"](UNDETERMINED) + + RiskLevelTransaction["executeCheckUnknownRiskOutdatedResults"]() + RiskLevelTransaction["isValidResult"](testRiskLevel) + + RiskLevelRepository.setRiskLevelScore(testRiskLevel) + RiskLevelTransaction["executeRiskLevelCalculationDateUpdate"]() + RiskLevelTransaction["executeClose"]() + } + } + } + + /** Test case for [UNKNOWN_RISK_OUTDATED_RESULTS_MANUAL] if keys are outdated and background + * jobs are disabled */ + @Test + fun unknownRiskOutdatedResultsManual() { + + val testRiskLevel = UNKNOWN_RISK_OUTDATED_RESULTS_MANUAL + + val twoHoursAboveMaxStale = + TimeUnit.HOURS.toMillis(TimeVariables.getMaxStaleExposureRiskRange().plus(2).toLong()) + + // tracing is activated + coEvery { InternalExposureNotificationClient.asyncIsEnabled() } returns true + + // the last time we fetched keys from the server is above the threshold + every { TimeVariables.getLastTimeDiagnosisKeysFromServerFetch() } returns System.currentTimeMillis() + .minus(twoHoursAboveMaxStale) + + // active tracing time is 1h above the threshold + every { TimeVariables.getTimeActiveTracingDuration() } returns TimeUnit.HOURS.toMillis( + TimeVariables.getMinActivatedTracingTime().plus(1).toLong() + ) + + // background jobs are disabled + every { ConnectivityHelper.isBackgroundJobEnabled(CoronaWarnApplication.getAppContext()) } returns false + runBlocking { RiskLevelTransaction.start() diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/viewmodel/SubmissionViewModelTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/viewmodel/SubmissionViewModelTest.kt new file mode 100644 index 0000000000000000000000000000000000000000..176fd04dc8f13db5294ffa08286797750e5290ae --- /dev/null +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/viewmodel/SubmissionViewModelTest.kt @@ -0,0 +1,45 @@ +package de.rki.coronawarnapp.ui.viewmodel + +import androidx.arch.core.executor.testing.InstantTaskExecutorRule +import de.rki.coronawarnapp.storage.LocalData +import de.rki.coronawarnapp.ui.submission.ScanStatus +import io.mockk.Runs +import io.mockk.every +import io.mockk.just +import io.mockk.mockkObject +import org.junit.Assert +import org.junit.Before +import org.junit.Rule +import org.junit.Test + + +class SubmissionViewModelTest { + private var viewModel: SubmissionViewModel = SubmissionViewModel() + + @JvmField + @Rule + var instantTaskExecutorRule: InstantTaskExecutorRule = InstantTaskExecutorRule() + + @Before + fun setUp() { + mockkObject(LocalData) + every { LocalData.testGUID(any()) } just Runs + } + + @Test + fun scanStatusValid() { + + // start + viewModel.scanStatus.value?.getContent().let { Assert.assertEquals(ScanStatus.STARTED, it) } + + // valid guid + val guid = "123456-12345678-1234-4DA7-B166-B86D85475064" + viewModel.validateAndStoreTestGUID("https://bs-sd.de/covid-19/?$guid") + viewModel.scanStatus.value?.getContent().let { Assert.assertEquals(ScanStatus.SUCCESS, it) } + + // invalid guid + viewModel.validateAndStoreTestGUID("https://no-guid-here") + viewModel.scanStatus.value?.getContent().let { Assert.assertEquals(ScanStatus.INVALID, it) } + + } +} \ No newline at end of file diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/util/DataBindingAdaptersTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/util/DataBindingAdaptersTest.kt index d67639b359c1d1f65f17b8f0785d4040b8156bd7..0cbdc2b9894b32809e333e8c43eea4dd0d69ee7d 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/util/DataBindingAdaptersTest.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/util/DataBindingAdaptersTest.kt @@ -22,6 +22,7 @@ class DataBindingAdaptersTest { @MockK private lateinit var context: Context + @MockK private lateinit var drawable: Drawable diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/util/formatter/FormatterRiskHelperTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/util/formatter/FormatterRiskHelperTest.kt index d1830e3b43325c8f0251eb413a68c0223cf4e5f0..a61dfd019b07f7f0f79e67bacca017d308f3ee34 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/util/formatter/FormatterRiskHelperTest.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/util/formatter/FormatterRiskHelperTest.kt @@ -162,7 +162,10 @@ class FormatterRiskHelperTest { every { context.getString(R.string.risk_card_body_next_update) } returns R.string.risk_card_body_next_update.toString() val result = - formatNextUpdate(riskLevelScore = iRiskLevelScore, isBackgroundJobEnabled = bIsBackgroundJobEnabled) + formatNextUpdate( + riskLevelScore = iRiskLevelScore, + isBackgroundJobEnabled = bIsBackgroundJobEnabled + ) assertThat( result, `is`(sValue) ) @@ -177,7 +180,10 @@ class FormatterRiskHelperTest { every { context.getString(R.string.accessibility_button) } returns R.string.accessibility_button.toString() val result = - formatNextUpdateContentDescription(riskLevelScore = iRiskLevelScore, isBackgroundJobEnabled = bIsBackgroundJobEnabled) + formatNextUpdateContentDescription( + riskLevelScore = iRiskLevelScore, + isBackgroundJobEnabled = bIsBackgroundJobEnabled + ) assertThat( result, `is`(sValue) ) @@ -972,7 +978,11 @@ class FormatterRiskHelperTest { @Test fun formatNextUpdateContentDescription() { - formatNextUpdateContentDescriptionBase(iRiskLevelScore = null, bIsBackgroundJobEnabled = null, sValue = "") + formatNextUpdateContentDescriptionBase( + iRiskLevelScore = null, + bIsBackgroundJobEnabled = null, + sValue = "" + ) formatNextUpdateContentDescriptionBase( iRiskLevelScore = RiskLevelConstants.INCREASED_RISK, bIsBackgroundJobEnabled = null, @@ -999,15 +1009,19 @@ class FormatterRiskHelperTest { sValue = "" ) - formatNextUpdateContentDescriptionBase(iRiskLevelScore = null, bIsBackgroundJobEnabled = true, sValue = "") + formatNextUpdateContentDescriptionBase( + iRiskLevelScore = null, + bIsBackgroundJobEnabled = true, + sValue = "" + ) formatNextUpdateContentDescriptionBase( iRiskLevelScore = RiskLevelConstants.INCREASED_RISK, bIsBackgroundJobEnabled = true, sValue = context.getString( R.string.risk_card_body_next_update - ) + " " + context.getString( - R.string.accessibility_button - ) + ) + " " + context.getString( + R.string.accessibility_button + ) ) formatNextUpdateContentDescriptionBase( iRiskLevelScore = RiskLevelConstants.UNKNOWN_RISK_OUTDATED_RESULTS, @@ -1020,9 +1034,9 @@ class FormatterRiskHelperTest { bIsBackgroundJobEnabled = true, sValue = context.getString( R.string.risk_card_body_next_update - ) + " " + context.getString( - R.string.accessibility_button - ) + ) + " " + context.getString( + R.string.accessibility_button + ) ) formatNextUpdateContentDescriptionBase( iRiskLevelScore = RiskLevelConstants.UNKNOWN_RISK_INITIAL, @@ -1037,7 +1051,11 @@ class FormatterRiskHelperTest { @Test fun formatRiskDetailsRiskLevelBody() { - formatRiskDetailsRiskLevelBodyBase(iRiskLevelScore = null, iDaysSinceLastExposure = 0, sValue = "") + formatRiskDetailsRiskLevelBodyBase( + iRiskLevelScore = null, + iDaysSinceLastExposure = 0, + sValue = "" + ) formatRiskDetailsRiskLevelBodyBase( iRiskLevelScore = RiskLevelConstants.INCREASED_RISK, iDaysSinceLastExposure = 1, diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/util/formatter/FormatterSettingsHelperTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/util/formatter/FormatterSettingsHelperTest.kt index 79b94264e14699ca7a184f50de07b59ca2df8682..386d94615c8b75efb5009a1586eaf72e870aa3df 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/util/formatter/FormatterSettingsHelperTest.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/util/formatter/FormatterSettingsHelperTest.kt @@ -6,8 +6,8 @@ import de.rki.coronawarnapp.CoronaWarnApplication import de.rki.coronawarnapp.R import io.mockk.MockKAnnotations import io.mockk.every -import io.mockk.mockk import io.mockk.impl.annotations.MockK +import io.mockk.mockk import io.mockk.mockkObject import io.mockk.unmockkAll import org.hamcrest.CoreMatchers @@ -72,6 +72,7 @@ class FormatterSettingsHelperTest { bTracing: Boolean, bBluetooth: Boolean, bConnection: Boolean, + bLocation: Boolean, iValue: Int ) { every { context.getString(R.string.settings_tracing_status_restricted) } returns R.string.settings_tracing_status_restricted.toString() @@ -81,7 +82,8 @@ class FormatterSettingsHelperTest { val result = formatTracingStatusText( tracing = bTracing, bluetooth = bBluetooth, - connection = bConnection + connection = bConnection, + location = bLocation ) assertThat(result, `is`((context.getString(iValue)))) } @@ -90,38 +92,44 @@ class FormatterSettingsHelperTest { bTracing: Boolean, bBluetooth: Boolean, bConnection: Boolean, + bLocation: Boolean, iValue: Int ) { every { context.getString(R.string.settings_tracing_body_bluetooth_inactive) } returns R.string.settings_tracing_body_bluetooth_inactive.toString() every { context.getString(R.string.settings_tracing_body_connection_inactive) } returns R.string.settings_tracing_body_connection_inactive.toString() every { context.getString(R.string.settings_tracing_body_active) } returns R.string.settings_tracing_body_active.toString() every { context.getString(R.string.settings_tracing_body_inactive) } returns R.string.settings_tracing_body_inactive.toString() + every { context.getString(R.string.settings_tracing_body_inactive_location) } returns R.string.settings_tracing_body_inactive_location.toString() val result = formatTracingDescription( tracing = bTracing, bluetooth = bBluetooth, - connection = bConnection + connection = bConnection, + location = bLocation + ) assertThat(result, `is`((context.getString(iValue)))) } - private fun formatTracingContentDescriptionBase( bTracing: Boolean, bBluetooth: Boolean, bConnection: Boolean, + bLocation: Boolean, sValue: String ) { every { context.getString(R.string.settings_tracing_body_bluetooth_inactive) } returns R.string.settings_tracing_body_bluetooth_inactive.toString() every { context.getString(R.string.settings_tracing_body_connection_inactive) } returns R.string.settings_tracing_body_connection_inactive.toString() every { context.getString(R.string.settings_tracing_body_active) } returns R.string.settings_tracing_body_active.toString() every { context.getString(R.string.settings_tracing_body_inactive) } returns R.string.settings_tracing_body_inactive.toString() + every { context.getString(R.string.settings_tracing_body_inactive_location) } returns R.string.settings_tracing_body_inactive_location.toString() every { context.getString(R.string.accessibility_button) } returns R.string.accessibility_button.toString() val result = formatTracingContentDescription( tracing = bTracing, bluetooth = bBluetooth, - connection = bConnection + connection = bConnection, + location = bLocation ) assertThat( result, `is`(sValue) @@ -167,12 +175,14 @@ class FormatterSettingsHelperTest { bTracing: Boolean, bBluetooth: Boolean, bConnection: Boolean, + bLocation: Boolean, bValue: Boolean ) { val result = formatTracingSwitch( tracing = bTracing, bluetooth = bBluetooth, - connection = bConnection + connection = bConnection, + location = bLocation ) assertThat( result, `is`(bValue) @@ -183,12 +193,14 @@ class FormatterSettingsHelperTest { bTracing: Boolean, bBluetooth: Boolean, bConnection: Boolean, + bLocation: Boolean, bValue: Boolean ) { val result = formatTracingSwitchEnabled( tracing = bTracing, bluetooth = bBluetooth, - connection = bConnection + connection = bConnection, + location = bLocation ) assertThat( result, `is`(bValue) @@ -198,15 +210,16 @@ class FormatterSettingsHelperTest { private fun formatTracingIconBase( bTracing: Boolean, bBluetooth: Boolean, - bConnection: Boolean - ) { + bConnection: Boolean, + bLocation: Boolean + ) { every { context.getDrawable(R.drawable.ic_settings_tracing_bluetooth_inactive) } returns drawable every { context.getDrawable(R.drawable.ic_settings_tracing_connection_inactive) } returns drawable every { context.getDrawable(R.drawable.ic_settings_tracing_active) } returns drawable every { context.getDrawable(R.drawable.ic_settings_tracing_inactive) } returns drawable val result = - formatTracingIcon(tracing = bTracing, bluetooth = bBluetooth, connection = bConnection) + formatTracingIcon(tracing = bTracing, bluetooth = bBluetooth, connection = bConnection, location = bLocation) assertThat( result, CoreMatchers.isA(Int::class.java) ) @@ -216,6 +229,7 @@ class FormatterSettingsHelperTest { bTracing: Boolean, bBluetooth: Boolean, bConnection: Boolean, + bLocation: Boolean, iColor: Int ) { every { context.getColor(R.color.colorAccentTintIcon) } returns R.color.colorAccentTintIcon @@ -224,7 +238,8 @@ class FormatterSettingsHelperTest { val result = formatTracingIconColor( tracing = bTracing, bluetooth = bBluetooth, - connection = bConnection + connection = bConnection, + location = bLocation ) assertThat( result, `is`(context.getColor(iColor)) @@ -234,8 +249,9 @@ class FormatterSettingsHelperTest { private fun formatTracingStatusImageBase( bTracing: Boolean, bBluetooth: Boolean, - bConnection: Boolean - ) { + bConnection: Boolean, + bLocation: Boolean + ) { every { context.getDrawable(R.drawable.ic_settings_illustration_bluetooth_off) } returns drawable every { context.getDrawable(R.drawable.ic_settings_illustration_connection_off) } returns drawable every { context.getDrawable(R.drawable.ic_illustration_tracing_on) } returns drawable @@ -244,7 +260,8 @@ class FormatterSettingsHelperTest { val result = formatTracingStatusImage( tracing = bTracing, bluetooth = bBluetooth, - connection = bConnection + connection = bConnection, + location = bLocation ) assertThat( result, `is`(CoreMatchers.equalTo(drawable)) @@ -254,12 +271,14 @@ class FormatterSettingsHelperTest { private fun formatTracingStatusConnectionBase( bTracing: Boolean, bBluetooth: Boolean, - bConnection: Boolean - ) { + bConnection: Boolean, + bLocation: Boolean + ) { val result = formatTracingStatusConnection( tracing = bTracing, bluetooth = bBluetooth, - connection = bConnection + connection = bConnection, + location = bLocation ) assertThat(true, `is`(result > -1)) } @@ -267,13 +286,15 @@ class FormatterSettingsHelperTest { private fun formatTracingStatusVisibilityTracingBase( bTracing: Boolean, bBluetooth: Boolean, - bConnection: Boolean - ) { + bConnection: Boolean, + bLocation: Boolean + ) { val result = formatTracingStatusVisibilityTracing( tracing = bTracing, bluetooth = bBluetooth, - connection = bConnection + connection = bConnection, + location = bLocation ) assertThat(true, `is`(result > -1)) } @@ -281,13 +302,15 @@ class FormatterSettingsHelperTest { private fun formatTracingStatusVisibilityBluetoothBase( bTracing: Boolean, bBluetooth: Boolean, - bConnection: Boolean - ) { + bConnection: Boolean, + bLocation: Boolean + ) { val result = formatTracingStatusVisibilityBluetooth( tracing = bTracing, bluetooth = bBluetooth, - connection = bConnection + connection = bConnection, + location = bLocation ) assertThat(true, `is`(result > -1)) } @@ -383,202 +406,262 @@ class FormatterSettingsHelperTest { @Test fun formatTracingStatusText() { - // When tracing is true, bluetooth is true, connection is true + // When tracing is true, bluetooth is true, connection is true, location is true formatTracingStatusBase( bTracing = true, bBluetooth = true, bConnection = true, + bLocation = true, iValue = R.string.settings_tracing_status_active ) - // When tracing is false, bluetooth is false, connection is false + // When tracing is false, bluetooth is false, connection is false, location is false formatTracingStatusBase( bTracing = false, bBluetooth = false, bConnection = false, + bLocation = false, iValue = R.string.settings_tracing_status_inactive ) - // When tracing is true, bluetooth is false, connection is false + // When tracing is true, bluetooth is false, connection is false, location is true formatTracingStatusBase( bTracing = true, bBluetooth = false, bConnection = false, + bLocation = true, iValue = R.string.settings_tracing_status_restricted ) - // When tracing is true, bluetooth is true, connection is false + // When tracing is true, bluetooth is true, connection is false, location is true formatTracingStatusBase( bTracing = true, bBluetooth = true, bConnection = false, + bLocation = true, iValue = R.string.settings_tracing_status_restricted ) - // When tracing is false, bluetooth is true, connection is false + // When tracing is false, bluetooth is true, connection is false, location is false formatTracingStatusBase( bTracing = false, bBluetooth = true, bConnection = false, + bLocation = false, iValue = R.string.settings_tracing_status_inactive ) - // When tracing is false, bluetooth is true, connection is true + // When tracing is false, bluetooth is true, connection is true, location is true formatTracingStatusBase( bTracing = false, bBluetooth = true, bConnection = true, + bLocation = true, iValue = R.string.settings_tracing_status_inactive ) - // When tracing is true, bluetooth is false, connection is true + // When tracing is true, bluetooth is false, connection is true, location is true formatTracingStatusBase( bTracing = true, bBluetooth = false, bConnection = true, + bLocation = true, iValue = R.string.settings_tracing_status_restricted ) - // When tracing is false, bluetooth is false, connection is true + // When tracing is false, bluetooth is false, connection is true, location is true formatTracingStatusBase( bTracing = false, bBluetooth = false, bConnection = true, + bLocation = true, iValue = R.string.settings_tracing_status_inactive ) } @Test fun formatTracingDescription() { - // When tracing is true, bluetooth is true, connection is true + // When tracing is true, bluetooth is true, connection is true, location is true formatTracingDescriptionBase( bTracing = true, bBluetooth = true, bConnection = true, + bLocation = true, iValue = R.string.settings_tracing_body_active ) - // When tracing is false, bluetooth is false, connection is false + // When tracing is false, bluetooth is false, connection is false, location is false formatTracingDescriptionBase( bTracing = false, bBluetooth = false, bConnection = false, - iValue = R.string.settings_tracing_body_inactive + bLocation = false, + iValue = R.string.settings_tracing_body_inactive_location ) - // When tracing is true, bluetooth is false, connection is false + // When tracing is true, bluetooth is false, connection is false, location is true formatTracingDescriptionBase( bTracing = true, bBluetooth = false, bConnection = false, - iValue = R.string.settings_tracing_body_bluetooth_inactive + bLocation = true, + iValue = R.string.settings_tracing_body_connection_inactive ) - // When tracing is true, bluetooth is true, connection is false + // When tracing is true, bluetooth is true, connection is false, location is true formatTracingDescriptionBase( bTracing = true, bBluetooth = true, bConnection = false, + bLocation = true, iValue = R.string.settings_tracing_body_connection_inactive ) - // When tracing is false, bluetooth is true, connection is false + // When tracing is false, bluetooth is true, connection is false, location is true formatTracingDescriptionBase( bTracing = false, bBluetooth = true, bConnection = false, + bLocation = true, iValue = R.string.settings_tracing_body_inactive ) - // When tracing is false, bluetooth is true, connection is true + // When tracing is false, bluetooth is true, connection is true, location is true formatTracingDescriptionBase( bTracing = false, bBluetooth = true, bConnection = true, + bLocation = true, iValue = R.string.settings_tracing_body_inactive ) - // When tracing is true, bluetooth is false, connection is true + // When tracing is true, bluetooth is false, connection is true, location is true formatTracingDescriptionBase( bTracing = true, bBluetooth = false, bConnection = true, + bLocation = true, iValue = R.string.settings_tracing_body_bluetooth_inactive ) - // When tracing is false, bluetooth is false, connection is true + // When tracing is false, bluetooth is false, connection is true, location is true formatTracingDescriptionBase( bTracing = false, bBluetooth = false, bConnection = true, + bLocation = true, iValue = R.string.settings_tracing_body_inactive ) + + // When tracing is true, bluetooth is true, connection is true, location is false + formatTracingDescriptionBase( + bTracing = true, + bBluetooth = true, + bConnection = true, + bLocation = false, + iValue = R.string.settings_tracing_body_inactive_location + ) + + // When tracing is false, bluetooth is true, connection is true, location is false + formatTracingDescriptionBase( + bTracing = false, + bBluetooth = true, + bConnection = true, + bLocation = false, + iValue = R.string.settings_tracing_body_inactive_location + ) } @Test fun formatTracingContentDescription() { - // When tracing is true, bluetooth is true, connection is true + // When tracing is true, bluetooth is true, connection is true, location is true formatTracingContentDescriptionBase( bTracing = true, bBluetooth = true, bConnection = true, - sValue = R.string.settings_tracing_body_active.toString() + " " +R.string.accessibility_button.toString() + bLocation = true, + sValue = R.string.settings_tracing_body_active.toString() + " " + R.string.accessibility_button.toString() ) - // When tracing is false, bluetooth is false, connection is false + // When tracing is false, bluetooth is false, connection is false, location is true formatTracingContentDescriptionBase( bTracing = false, bBluetooth = false, bConnection = false, - sValue = R.string.settings_tracing_body_inactive.toString() + " " +R.string.accessibility_button.toString() + bLocation = true, + sValue = R.string.settings_tracing_body_inactive.toString() + " " + R.string.accessibility_button.toString() ) - // When tracing is true, bluetooth is false, connection is false + // When tracing is true, bluetooth is false, connection is false, location is true formatTracingContentDescriptionBase( bTracing = true, bBluetooth = false, bConnection = false, - sValue = R.string.settings_tracing_body_bluetooth_inactive.toString() + " " +R.string.accessibility_button.toString() + bLocation = true, + sValue = R.string.settings_tracing_body_connection_inactive.toString() + " " + R.string.accessibility_button.toString() ) - // When tracing is true, bluetooth is true, connection is false + // When tracing is true, bluetooth is true, connection is false, location is true formatTracingContentDescriptionBase( bTracing = true, bBluetooth = true, bConnection = false, - sValue = R.string.settings_tracing_body_connection_inactive.toString() + " " +R.string.accessibility_button.toString() + bLocation = true, + sValue = R.string.settings_tracing_body_connection_inactive.toString() + " " + R.string.accessibility_button.toString() ) - // When tracing is false, bluetooth is true, connection is false + // When tracing is false, bluetooth is true, connection is false, location is true formatTracingContentDescriptionBase( bTracing = false, bBluetooth = true, bConnection = false, - sValue = R.string.settings_tracing_body_inactive.toString() + " " +R.string.accessibility_button.toString() + bLocation = true, + sValue = R.string.settings_tracing_body_inactive.toString() + " " + R.string.accessibility_button.toString() ) - // When tracing is false, bluetooth is true, connection is true + // When tracing is false, bluetooth is true, connection is true, location is true formatTracingContentDescriptionBase( bTracing = false, bBluetooth = true, bConnection = true, - sValue = R.string.settings_tracing_body_inactive.toString() + " " +R.string.accessibility_button.toString() + bLocation = true, + sValue = R.string.settings_tracing_body_inactive.toString() + " " + R.string.accessibility_button.toString() ) - // When tracing is true, bluetooth is false, connection is true + // When tracing is true, bluetooth is false, connection is true, location is true formatTracingContentDescriptionBase( bTracing = true, bBluetooth = false, bConnection = true, - sValue = R.string.settings_tracing_body_bluetooth_inactive.toString() + " " +R.string.accessibility_button.toString() + bLocation = true, + sValue = R.string.settings_tracing_body_bluetooth_inactive.toString() + " " + R.string.accessibility_button.toString() ) - // When tracing is false, bluetooth is false, connection is true + // When tracing is false, bluetooth is false, connection is true, location is true formatTracingContentDescriptionBase( bTracing = false, bBluetooth = false, bConnection = true, - sValue = R.string.settings_tracing_body_inactive.toString() + " " +R.string.accessibility_button.toString() + bLocation = true, + sValue = R.string.settings_tracing_body_inactive.toString() + " " + R.string.accessibility_button.toString() + ) + + // When tracing is false, bluetooth is true, connection is true, location is false + formatTracingContentDescriptionBase( + bTracing = false, + bBluetooth = true, + bConnection = true, + bLocation = false, + sValue = R.string.settings_tracing_body_inactive_location.toString() + " " + R.string.accessibility_button.toString() + ) + + // When tracing is true, bluetooth is true, connection is true, location is false + formatTracingContentDescriptionBase( + bTracing = true, + bBluetooth = true, + bConnection = true, + bLocation = false, + sValue = R.string.settings_tracing_body_inactive_location.toString() + " " + R.string.accessibility_button.toString() ) } @@ -615,6 +698,7 @@ class FormatterSettingsHelperTest { bTracing = true, bBluetooth = true, bConnection = true, + bLocation = true, bValue = true ) @@ -622,6 +706,7 @@ class FormatterSettingsHelperTest { bTracing = false, bBluetooth = false, bConnection = false, + bLocation = true, bValue = false ) @@ -629,6 +714,7 @@ class FormatterSettingsHelperTest { bTracing = false, bBluetooth = false, bConnection = true, + bLocation = true, bValue = false ) @@ -636,6 +722,7 @@ class FormatterSettingsHelperTest { bTracing = false, bBluetooth = true, bConnection = false, + bLocation = true, bValue = false ) @@ -643,6 +730,7 @@ class FormatterSettingsHelperTest { bTracing = false, bBluetooth = true, bConnection = true, + bLocation = true, bValue = false ) @@ -650,6 +738,7 @@ class FormatterSettingsHelperTest { bTracing = true, bBluetooth = false, bConnection = false, + bLocation = true, bValue = false ) @@ -657,6 +746,7 @@ class FormatterSettingsHelperTest { bTracing = true, bBluetooth = false, bConnection = true, + bLocation = true, bValue = false ) @@ -664,6 +754,23 @@ class FormatterSettingsHelperTest { bTracing = true, bBluetooth = true, bConnection = false, + bLocation = true, + bValue = false + ) + + formatTracingSwitchBase( + bTracing = false, + bBluetooth = true, + bConnection = true, + bLocation = false, + bValue = false + ) + + formatTracingSwitchBase( + bTracing = true, + bBluetooth = true, + bConnection = true, + bLocation = false, bValue = false ) } @@ -675,6 +782,7 @@ class FormatterSettingsHelperTest { bTracing = true, bBluetooth = true, bConnection = true, + bLocation = true, bValue = true ) @@ -682,6 +790,7 @@ class FormatterSettingsHelperTest { bTracing = false, bBluetooth = false, bConnection = false, + bLocation = true, bValue = true ) @@ -689,6 +798,7 @@ class FormatterSettingsHelperTest { bTracing = false, bBluetooth = false, bConnection = true, + bLocation = true, bValue = true ) @@ -696,6 +806,7 @@ class FormatterSettingsHelperTest { bTracing = false, bBluetooth = true, bConnection = false, + bLocation = true, bValue = true ) @@ -703,6 +814,7 @@ class FormatterSettingsHelperTest { bTracing = false, bBluetooth = true, bConnection = true, + bLocation = true, bValue = true ) @@ -710,6 +822,7 @@ class FormatterSettingsHelperTest { bTracing = true, bBluetooth = false, bConnection = false, + bLocation = true, bValue = false ) @@ -717,6 +830,7 @@ class FormatterSettingsHelperTest { bTracing = true, bBluetooth = false, bConnection = true, + bLocation = true, bValue = false ) @@ -724,27 +838,30 @@ class FormatterSettingsHelperTest { bTracing = true, bBluetooth = true, bConnection = false, + bLocation = true, bValue = false ) } @Test fun formatTracingIcon() { - formatTracingIconBase(bTracing = true, bBluetooth = true, bConnection = true) + formatTracingIconBase(bTracing = true, bBluetooth = true, bConnection = true, bLocation = true) + + formatTracingIconBase(bTracing = false, bBluetooth = false, bConnection = false, bLocation = true) - formatTracingIconBase(bTracing = false, bBluetooth = false, bConnection = false) + formatTracingIconBase(bTracing = false, bBluetooth = false, bConnection = true, bLocation = true) - formatTracingIconBase(bTracing = false, bBluetooth = false, bConnection = true) + formatTracingIconBase(bTracing = false, bBluetooth = true, bConnection = false, bLocation = true) - formatTracingIconBase(bTracing = false, bBluetooth = true, bConnection = false) + formatTracingIconBase(bTracing = false, bBluetooth = true, bConnection = true, bLocation = true) - formatTracingIconBase(bTracing = false, bBluetooth = true, bConnection = true) + formatTracingIconBase(bTracing = true, bBluetooth = false, bConnection = false, bLocation = true) - formatTracingIconBase(bTracing = true, bBluetooth = false, bConnection = false) + formatTracingIconBase(bTracing = true, bBluetooth = false, bConnection = true, bLocation = true) - formatTracingIconBase(bTracing = true, bBluetooth = false, bConnection = true) + formatTracingIconBase(bTracing = true, bBluetooth = true, bConnection = false, bLocation = true) - formatTracingIconBase(bTracing = true, bBluetooth = true, bConnection = false) + formatTracingIconBase(bTracing = true, bBluetooth = true, bConnection = true, bLocation = false) } @Test @@ -754,6 +871,7 @@ class FormatterSettingsHelperTest { bTracing = true, bBluetooth = true, bConnection = true, + bLocation = true, iColor = R.color.colorAccentTintIcon ) @@ -761,6 +879,7 @@ class FormatterSettingsHelperTest { bTracing = false, bBluetooth = false, bConnection = false, + bLocation = true, iColor = R.color.colorTextSemanticRed ) @@ -768,6 +887,7 @@ class FormatterSettingsHelperTest { bTracing = false, bBluetooth = false, bConnection = true, + bLocation = true, iColor = R.color.colorTextSemanticRed ) @@ -775,6 +895,7 @@ class FormatterSettingsHelperTest { bTracing = false, bBluetooth = true, bConnection = false, + bLocation = true, iColor = R.color.colorTextSemanticRed ) @@ -782,6 +903,7 @@ class FormatterSettingsHelperTest { bTracing = false, bBluetooth = true, bConnection = true, + bLocation = true, iColor = R.color.colorTextSemanticRed ) @@ -789,6 +911,7 @@ class FormatterSettingsHelperTest { bTracing = true, bBluetooth = false, bConnection = false, + bLocation = true, iColor = R.color.colorTextSemanticRed ) @@ -796,6 +919,7 @@ class FormatterSettingsHelperTest { bTracing = true, bBluetooth = false, bConnection = true, + bLocation = true, iColor = R.color.colorTextSemanticRed ) @@ -803,46 +927,55 @@ class FormatterSettingsHelperTest { bTracing = true, bBluetooth = true, bConnection = false, + bLocation = true, + iColor = R.color.colorTextSemanticRed + ) + + formatTracingIconColorBase( + bTracing = true, + bBluetooth = true, + bConnection = true, + bLocation = false, iColor = R.color.colorTextSemanticRed ) } @Test fun formatTracingStatusImage() { - formatTracingStatusImageBase(bTracing = true, bBluetooth = true, bConnection = true) + formatTracingStatusImageBase(bTracing = true, bBluetooth = true, bConnection = true, bLocation = true) - formatTracingStatusImageBase(bTracing = false, bBluetooth = false, bConnection = false) + formatTracingStatusImageBase(bTracing = false, bBluetooth = false, bConnection = false, bLocation = true) - formatTracingStatusImageBase(bTracing = false, bBluetooth = false, bConnection = true) + formatTracingStatusImageBase(bTracing = false, bBluetooth = false, bConnection = true, bLocation = true) - formatTracingStatusImageBase(bTracing = false, bBluetooth = true, bConnection = false) + formatTracingStatusImageBase(bTracing = false, bBluetooth = true, bConnection = false, bLocation = true) - formatTracingStatusImageBase(bTracing = false, bBluetooth = true, bConnection = true) + formatTracingStatusImageBase(bTracing = false, bBluetooth = true, bConnection = true, bLocation = true) - formatTracingStatusImageBase(bTracing = true, bBluetooth = false, bConnection = false) + formatTracingStatusImageBase(bTracing = true, bBluetooth = false, bConnection = false, bLocation = true) - formatTracingStatusImageBase(bTracing = true, bBluetooth = false, bConnection = true) + formatTracingStatusImageBase(bTracing = true, bBluetooth = false, bConnection = true, bLocation = true) - formatTracingStatusImageBase(bTracing = true, bBluetooth = true, bConnection = false) + formatTracingStatusImageBase(bTracing = true, bBluetooth = true, bConnection = false, bLocation = true) } @Test fun formatTracingStatusConnection() { - formatTracingStatusConnectionBase(bTracing = true, bBluetooth = true, bConnection = true) + formatTracingStatusConnectionBase(bTracing = true, bBluetooth = true, bConnection = true, bLocation = true) - formatTracingStatusConnectionBase(bTracing = false, bBluetooth = false, bConnection = false) + formatTracingStatusConnectionBase(bTracing = false, bBluetooth = false, bConnection = false, bLocation = true) - formatTracingStatusConnectionBase(bTracing = false, bBluetooth = false, bConnection = true) + formatTracingStatusConnectionBase(bTracing = false, bBluetooth = false, bConnection = true, bLocation = true) - formatTracingStatusConnectionBase(bTracing = false, bBluetooth = true, bConnection = false) + formatTracingStatusConnectionBase(bTracing = false, bBluetooth = true, bConnection = false, bLocation = true) - formatTracingStatusConnectionBase(bTracing = false, bBluetooth = true, bConnection = true) + formatTracingStatusConnectionBase(bTracing = false, bBluetooth = true, bConnection = true, bLocation = true) - formatTracingStatusConnectionBase(bTracing = true, bBluetooth = false, bConnection = false) + formatTracingStatusConnectionBase(bTracing = true, bBluetooth = false, bConnection = false, bLocation = true) - formatTracingStatusConnectionBase(bTracing = true, bBluetooth = false, bConnection = true) + formatTracingStatusConnectionBase(bTracing = true, bBluetooth = false, bConnection = true, bLocation = true) - formatTracingStatusConnectionBase(bTracing = true, bBluetooth = true, bConnection = false) + formatTracingStatusConnectionBase(bTracing = true, bBluetooth = true, bConnection = false, bLocation = true) } @Test @@ -850,42 +983,48 @@ class FormatterSettingsHelperTest { formatTracingStatusVisibilityBluetoothBase( bTracing = true, bBluetooth = true, - bConnection = true + bConnection = true, + bLocation = true ) formatTracingStatusVisibilityBluetoothBase( bTracing = false, bBluetooth = false, - bConnection = false + bConnection = false, + bLocation = true ) formatTracingStatusVisibilityBluetoothBase( bTracing = false, bBluetooth = false, - bConnection = true + bConnection = true, + bLocation = true ) formatTracingStatusVisibilityBluetoothBase( bTracing = false, bBluetooth = true, - bConnection = false + bConnection = false, + bLocation = true ) formatTracingStatusVisibilityBluetoothBase( bTracing = false, bBluetooth = true, - bConnection = true + bConnection = true, + bLocation = true ) formatTracingStatusVisibilityBluetoothBase( bTracing = true, bBluetooth = false, - bConnection = false + bConnection = false, + bLocation = true ) - formatTracingStatusConnectionBase(bTracing = true, bBluetooth = false, bConnection = true) + formatTracingStatusConnectionBase(bTracing = true, bBluetooth = false, bConnection = true, bLocation = true) - formatTracingStatusConnectionBase(bTracing = true, bBluetooth = true, bConnection = false) + formatTracingStatusConnectionBase(bTracing = true, bBluetooth = true, bConnection = false, bLocation = true) } @Test @@ -893,49 +1032,57 @@ class FormatterSettingsHelperTest { formatTracingStatusVisibilityTracingBase( bTracing = true, bBluetooth = true, - bConnection = true + bConnection = true, + bLocation = true ) formatTracingStatusVisibilityTracingBase( bTracing = false, bBluetooth = false, - bConnection = false + bConnection = false, + bLocation = true ) formatTracingStatusVisibilityTracingBase( bTracing = false, bBluetooth = false, - bConnection = true + bConnection = true, + bLocation = true ) formatTracingStatusVisibilityTracingBase( bTracing = false, bBluetooth = true, - bConnection = false + bConnection = false, + bLocation = true ) formatTracingStatusVisibilityTracingBase( bTracing = false, bBluetooth = true, - bConnection = true + bConnection = true, + bLocation = true ) formatTracingStatusVisibilityTracingBase( bTracing = true, bBluetooth = false, - bConnection = false + bConnection = false, + bLocation = true ) formatTracingStatusVisibilityTracingBase( bTracing = true, bBluetooth = false, - bConnection = true + bConnection = true, + bLocation = true ) formatTracingStatusVisibilityTracingBase( bTracing = true, bBluetooth = true, - bConnection = false + bConnection = false, + bLocation = true ) } diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/util/formatter/TracingStatusHelperTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/util/formatter/TracingStatusHelperTest.kt index 203c77231c8019a21d91e58cb92fa37f4c712d80..ddebea5479fa1fc68d487cd24c4416a1dfc390b3 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/util/formatter/TracingStatusHelperTest.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/util/formatter/TracingStatusHelperTest.kt @@ -8,49 +8,55 @@ class TracingStatusHelperTest { @Test fun testTracingActiveAllOn() { - val result = tracingStatusHelper(tracing = true, bluetooth = true, connection = true) + val result = tracingStatusHelper(tracing = true, bluetooth = true, connection = true, location = true) assertThat(result, `is`((TracingStatusHelper.TRACING_ACTIVE))) } @Test fun testTracingInactiveWhenAllOff() { - val result = tracingStatusHelper(tracing = false, bluetooth = false, connection = false) + val result = tracingStatusHelper(tracing = false, bluetooth = false, connection = false, location = true) assertThat(result, `is`((TracingStatusHelper.TRACING_INACTIVE))) } @Test fun testTracingInactiveWhenTracingOffBluetoothOffConnectionOn() { - val result = tracingStatusHelper(tracing = false, bluetooth = false, connection = true) + val result = tracingStatusHelper(tracing = false, bluetooth = false, connection = true, location = true) assertThat(result, `is`((TracingStatusHelper.TRACING_INACTIVE))) } @Test fun testTracingInactiveWhenTracingOffBluetoothOnConnectionOff() { - val result = tracingStatusHelper(tracing = false, bluetooth = true, connection = false) + val result = tracingStatusHelper(tracing = false, bluetooth = true, connection = false, location = true) assertThat(result, `is`((TracingStatusHelper.TRACING_INACTIVE))) } @Test fun testTracingInactiveWhenTracingOffBluetoothOnConnectionOn() { - val result = tracingStatusHelper(tracing = false, bluetooth = true, connection = true) + val result = tracingStatusHelper(tracing = false, bluetooth = true, connection = true, location = true) assertThat(result, `is`((TracingStatusHelper.TRACING_INACTIVE))) } @Test fun testBluetoothInactiveWhenTracingOnBluetoothOffConnectionOn() { - val result = tracingStatusHelper(tracing = true, bluetooth = false, connection = true) + val result = tracingStatusHelper(tracing = true, bluetooth = false, connection = true, location = true) assertThat(result, `is`((TracingStatusHelper.BLUETOOTH))) } @Test - fun testBluetoothInactiveWhenTracingOnBluetoothOffConnectionOff() { - val result = tracingStatusHelper(tracing = true, bluetooth = false, connection = false) - assertThat(result, `is`((TracingStatusHelper.BLUETOOTH))) + fun testConnectionInactiveWhenTracingOnBluetoothOffConnectionOff() { + val result = tracingStatusHelper(tracing = true, bluetooth = true, connection = false, location = true) + assertThat(result, `is`((TracingStatusHelper.CONNECTION))) } @Test - fun testConnectionInactiveWhenTracingOnBluetoothOffConnectionOff() { - val result = tracingStatusHelper(tracing = true, bluetooth = true, connection = false) - assertThat(result, `is`((TracingStatusHelper.CONNECTION))) + fun testConnectionInactiveWhenTracingOffBluetoothOnConnectionOnLocationOff() { + val result = tracingStatusHelper(tracing = false, bluetooth = true, connection = true, location = false) + assertThat(result, `is`((TracingStatusHelper.LOCATION))) + } + + @Test + fun testConnectionInactiveWhenTracingOnBluetoothOnConnectionOnLocationOff() { + val result = tracingStatusHelper(tracing = true, bluetooth = true, connection = true, location = false) + assertThat(result, `is`((TracingStatusHelper.LOCATION))) } } diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/worker/BackgroundWorkHelperTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/worker/BackgroundWorkHelperTest.kt index e6756e38d9b81cbb95752ac4d6e3528f7cc95beb..eddc5f4c1ccdb514af1cd942950315ecdefd880f 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/worker/BackgroundWorkHelperTest.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/worker/BackgroundWorkHelperTest.kt @@ -7,12 +7,18 @@ import org.junit.Test class BackgroundWorkHelperTest { @Test fun getDiagnosisKeyRetrievalPeriodicWorkTimeInterval() { - Assert.assertEquals(BackgroundWorkHelper.getDiagnosisKeyRetrievalPeriodicWorkTimeInterval(), 120) + Assert.assertEquals( + BackgroundWorkHelper.getDiagnosisKeyRetrievalPeriodicWorkTimeInterval(), + 120 + ) } @Test fun getDiagnosisTestResultRetrievalPeriodicWorkTimeInterval() { - Assert.assertEquals(BackgroundWorkHelper.getDiagnosisTestResultRetrievalPeriodicWorkTimeInterval(), 120) + Assert.assertEquals( + BackgroundWorkHelper.getDiagnosisTestResultRetrievalPeriodicWorkTimeInterval(), + 120 + ) } @Test diff --git a/Server-Protocol-Buffer/src/main/proto/applicationConfiguration.proto b/Server-Protocol-Buffer/src/main/proto/applicationConfiguration.proto index c749c7710c5b5bb3d5dc45796c10a4f9215a6b61..a840bcd6aa94bea18886a3eb6f19bb17538a6be0 100644 --- a/Server-Protocol-Buffer/src/main/proto/applicationConfiguration.proto +++ b/Server-Protocol-Buffer/src/main/proto/applicationConfiguration.proto @@ -67,7 +67,7 @@ message RiskScoreParameters { RiskLevel gt_27_le_33_dbm = 5; // 27 < A <= 33 dBm RiskLevel gt_15_le_27_dbm = 6; // 15 < A <= 27 dBm RiskLevel gt_10_le_15_dbm = 7; // 10 < A <= 15 dBm - RiskLevel lt_10_dbm = 8; // A <= 10 dBm, highest risk + RiskLevel le_10_dbm = 8; // A <= 10 dBm, highest risk } } diff --git a/docs/architecture-overview.md b/docs/architecture-overview.md index 35a8c106789ddbd561676bc62e32698c49e247fb..53e5be51913b40899c22bdb0640b6efef8c2ae99 100644 --- a/docs/architecture-overview.md +++ b/docs/architecture-overview.md @@ -20,13 +20,13 @@ The key functionality of the CWA-Client is divided into the following pillars: The Exposure Tracing Management component uses the native implementation of the Exposure Notification Framework provided by Google and Apple to activate, deactivate or check the status of the tracing functionality. If exposure tracing is activated by the user the activation-status of needed technical services (e.g. Bluetooth) is verified as well. To calculate the Exposure Risk Level of the user the active tracing time is considered. As a result initial tracing activation timestamp as well as the time were tracing was deactivated during the last 14 days is persisted. ### Exposure Risk Level Calculation -The Exposure Risk Level Calculation is implemented using the native implementations of Google and Apple. To use the APIs with the needed data the client loads the available DiagnosisKeys for the calculation time range of 14 days from the [CWA-Distribution service](https://github.com/corona-warn-app/cwa-server/blob/master/docs/architecture-overview.md). To reduce the network footprint a local DiagnosisKey cache is used. With the diagnosisKeys the client passes the fresh downloaded exposure risk calculation configuration to the API of the mobile operation system. Finally the exposure risk level of the user is selected using the matched exposure risk level range for the maximum exposure risk happened in the last 14 days. The calculated exposure risk level and the exposure risk summary (maximumRiskScore, daysSinceLastExposure and matchedKeyCount) together with the calculation timestamp are stored on the client to allow the user the access to his latest calculation results when he is offline. The exposure risk level calculation is implemented as background online-only functionality ensuring that the latest diagnosisKeys as well as the latest configuration are used. If a risk level change happened during background processing a local notification is raised. For configuration and error scenarios during offline hours an assignment to error risk levels is implemented. +The Exposure Risk Level Calculation is implemented using the native implementations of Google and Apple. To use the APIs with the needed data the client loads the available DiagnosisKeys for the calculation time range of 14 days from the [CWA-Distribution service](https://github.com/corona-warn-app/cwa-server/blob/master/docs/ARCHITECTURE.md). To reduce the network footprint a local DiagnosisKey cache is used. With the diagnosisKeys the client passes the fresh downloaded exposure risk calculation configuration to the API of the mobile operation system. Finally the exposure risk level of the user is selected using the matched exposure risk level range for the maximum exposure risk happened in the last 14 days. The calculated exposure risk level and the exposure risk summary (maximumRiskScore, daysSinceLastExposure and matchedKeyCount) together with the calculation timestamp are stored on the client to allow the user the access to his latest calculation results when he is offline. The exposure risk level calculation is implemented as background online-only functionality ensuring that the latest diagnosisKeys as well as the latest configuration are used. If a risk level change happened during background processing a local notification is raised. For configuration and error scenarios during offline hours an assignment to error risk levels is implemented. ### Test Result Access The Test Result Access component implements the HTTP choreography provided by the [CWA-Verification service](https://github.com/corona-warn-app/cwa-verification-server/blob/master/docs/architecture-overview.md). Using the testGUID (scanned by a QR-Code) or the teleTAN (manually entered) the client receives a registration token which identifies a long term session. In the testGUID variant the client accesses the test result as online-only functionality. This ensures that the latest test data is shown and only the minimum needed data is stored on the client. To minimize the data footprint shared with other push technology server side infrastructures a periodic polling mechanism between client and CWA-Verification service checks in the background if a test result is available and informs the user via a local notification. In the teleTAN scenario no test result is retrieved using the registrationToken since the user is already known as COVID-19 positive. ### Diagnosis Key Submission -Once a user is tested positive the Diagnosis Key Submission component can be used. The software component uses the persisted registrationToken to access a Submission-TAN from the [CWA-Verification service](https://github.com/corona-warn-app/cwa-verification-server/blob/master/docs/architecture-overview.md). After accessing the Submission-TAN the available TemporaryExposureKeys are retrieved as DiagnosisKey by the corresponding mobile OS APIs. Every TemporaryExposureKey is enriched with the TransmissionRiskDefaultParameter fitting to the key creation day. The latest TransmissionRiskDefaultParameters are accessed by the [CWA-Distribution service](https://github.com/corona-warn-app/cwa-verification-server/blob/master/docs/architecture-overview.md). To allow in the future the introduction of subsequent TemporaryExposureKey submissions with delta semantics to the previous submission the timestamp of the last successful diagnosisKey submission is persisted. +Once a user is tested positive the Diagnosis Key Submission component can be used. The software component uses the persisted registrationToken to access a Submission-TAN from the [CWA-Verification service](https://github.com/corona-warn-app/cwa-verification-server/blob/master/docs/architecture-overview.md). After accessing the Submission-TAN the available TemporaryExposureKeys are retrieved as DiagnosisKey by the corresponding mobile OS APIs. Every TemporaryExposureKey is enriched with the TransmissionRiskDefaultParameter fitting to the key creation day. The latest TransmissionRiskDefaultParameters are accessed by the [CWA-Distribution service](https://github.com/corona-warn-app/cwa-server/blob/master/docs/ARCHITECTURE.md). To allow in the future the introduction of subsequent TemporaryExposureKey submissions with delta semantics to the previous submission the timestamp of the last successful diagnosisKey submission is persisted. ## Libraries @@ -38,7 +38,7 @@ Barcode scanning library by https://journeyapps.com/ based on ZXing decoder. This library is being used for embedded QR code scanning process during TAN submission to help end users of the application quickly submit their SARS-CoV-2 results without installing additional scanning software. -Licensing: [Apache License 2.0](https://github.com/journeyapps/zxing-android-embedded) +Licensing: [Apache License 2.0](https://github.com/journeyapps/zxing-android-embedded/blob/master/COPYING) [GitHub](https://github.com/journeyapps/zxing-android-embedded)