---
.../DE_App_Nutzungsbedingungen.html | 10 ++++++---
.../EN_App_Nutzungsbedingungen.html | 11 +++++-----
.../FR_App_Nutzungsbedingungen.html | 21 ++++++++++---------
.../IT_App_Nutzungsbedingungen.html | 11 +++++-----
4 files changed, 30 insertions(+), 23 deletions(-)
diff --git a/DP3TApp/Resources/Disclaimer/DE_App_Nutzungsbedingungen.html b/DP3TApp/Resources/Disclaimer/DE_App_Nutzungsbedingungen.html
index f33e4191..dfab428b 100644
--- a/DP3TApp/Resources/Disclaimer/DE_App_Nutzungsbedingungen.html
+++ b/DP3TApp/Resources/Disclaimer/DE_App_Nutzungsbedingungen.html
@@ -17,7 +17,7 @@
1.2
- Die App des Bundesamtes für Gesundheit (BAG) stützt sich auf das Epidemiengesetz vom 28. September 2012 (EpG; SR 818.101), die Verordnung vom 24. Juni 2020 über das Proximity-Tracing-System für das Coronavirus SARS-CoV-2 (VPTS; SR 818.101.25), dem Bundesgesetz über die gesetzlichen Grundlagen für Verordnungen des Bundesrates zur Bewältigung der Covid-19-Epidemie vom 25. September 2020 (Covid-19-Gesetz; SR 818.102) sowie der Verordnung vom 30. Juni 2021 über ein System zur Benachrichtigung über eine mögliche Ansteckung mit dem Coronavirus Sars-CoV-2 an Veranstaltungen (VBV; SR 818.102.4).
+ Die App des Bundesamtes für Gesundheit (BAG) stützt sich auf das Epidemiengesetz vom 28. September 2012 (EpG; SR 818.101), die Verordnung vom 24. Juni 2020 über das Proximity-Tracing-System für das Coronavirus SARS-CoV-2 (VPTS; SR 818.101.25), dem Bundesgesetz über die gesetzlichen Grundlagen für Verordnungen des Bundesrates zur Bewältigung der Covid-19-Epidemie vom 25. September 2020 (Covid-19-Gesetz; SR 818.102) sowie der Verordnung vom 30. Juni 2021 über ein System zur Benachrichtigung über eine mögliche Ansteckung mit dem Coronavirus Sars-CoV-2 an Veranstaltungen (VBV; SR 818.102.4).
1.3
@@ -65,11 +65,15 @@
Die App ruft periodisch eine Liste der privaten Schlüssel der infizierten Benutzerinnen und Benutzer der SwissCovid-App und anderen interoperablen Apps ab und lässt vom Betriebssystem überprüfen, ob mindestens ein lokal gespeicherter Identifizierungscode mit einem privaten Schlüssel der Liste generiert wurde. Ist dies der Fall und bestand zu mindestens einem Mobiltelefon einer infizierten Benutzerin oder einem infizierten Benutzer der SwissCovid-App oder anderen interoperablen Apps eine Annährung von 1,5 Metern oder weniger und erreicht die Summe der Dauer aller solchen Annäherungen innerhalb eines Tages 15 Minuten, so gibt die App die Benachrichtigung aus. Der Abstand wird anhand der Stärke der empfangenen Signale geschätzt.
- Warnsystem für Veranstaltungen: Die Organisatorin oder der Organisator einer Veranstaltung generiert in seiner App einen QR-Code. Besucherinnen und Besucher der Veranstaltung können mit ihrer App den gezeigten QR-Code scannen und sind so an der Veranstaltung eingecheckt.
+ Warnsystem für Veranstaltungen: Die Organisatorin oder der Organisator einer Veranstaltung generiert in seiner App oder über die Internetseite
+
+ qr.swisscovid.ch
+
+ einen QR-Code. Besucherinnen und Besucher der Veranstaltung können mit ihrer App den gezeigten QR-Code scannen und sind so an der Veranstaltung eingecheckt.
3.4
- Die App speichert auf dem Mobiltelefon die Veranstaltungs-Identifizierungscodes mit dem jeweiligen Datum, die Dauer des Aufenthaltes und die Bezeichnung der Veranstaltung. Sie ruft periodisch vom Veranstaltungs-Backend im Abrufverfahren die Liste der Veranstaltungs-Identifizierungscodes der infizierten teilnehmenden Personen ab. Sie gleicht die Veranstaltungs-Identifizierungscodes mit den von ihr lokal gespeicherten Veranstaltungs-Identifizierungscodes ab. Ergibt der Abgleich eine Übereinstimmung, so gibt die App die Benachrichtigung aus.Ist eine Infektion bei einer Benutzerin oder einem Benutzer nachgewiesen, generieren zugriffsberechtigte Fachpersonen (z.B. behandelnde Ärztinnen und Ärzte oder Apothekerinnen und Apotheker) einen einmaligen und zeitlich begrenzt gültigen Freischaltcode («Covidcode») und geben diesen der infizierten Benutzerin oder dem infizierten Benutzer bekannt. Diese oder dieser kann den Freischaltcode in ihre oder seine App freiwillig eingeben. Die Benachrichtigung bzw. die Eingabe des Freischaltcodes erfolgt nur mit der ausdrücklichen Einwilligung der infizierten Benutzerin oder des infizierten Benutzers. Die infizierte Benutzerin oder der infizierte Benutzer kann ausserdem wählen, ob sie oder er sowohl die engen Kontakte aufgrund des Proximity-Tracing-Systems als auch die Kontakte aufgrund der Teilnahme an einer Veranstaltung warnen will. Darüber hinaus kann sie oder er auch entscheiden, ob er für jede Veranstaltung, an welcher er im relevanten Zeitraum teilgenommen hat, eine Benachrichtigung auslösen will oder nur für einzelne.
+ Die App speichert auf dem Mobiltelefon die Veranstaltungs-Identifizierungscodes mit dem jeweiligen Datum, die Dauer des Aufenthaltes und die Bezeichnung der Veranstaltung. Sie ruft periodisch vom Veranstaltungs-Backend im Abrufverfahren die Liste der Veranstaltungs-Identifizierungscodes der infizierten teilnehmenden Personen ab. Sie gleicht die Veranstaltungs-Identifizierungscodes mit den von ihr lokal gespeicherten Veranstaltungs-Identifizierungscodes ab. Ergibt der Abgleich eine Übereinstimmung, so gibt die App die Benachrichtigung aus. Ist eine Infektion bei einer Benutzerin oder einem Benutzer nachgewiesen, generieren zugriffsberechtigte Fachpersonen (z.B. behandelnde Ärztinnen und Ärzte oder Apothekerinnen und Apotheker) einen einmaligen und zeitlich begrenzt gültigen Freischaltcode («Covidcode») und geben diesen der infizierten Benutzerin oder dem infizierten Benutzer bekannt. Diese oder dieser kann den Freischaltcode in ihre oder seine App freiwillig eingeben. Die Benachrichtigung bzw. die Eingabe des Freischaltcodes erfolgt nur mit der ausdrücklichen Einwilligung der infizierten Benutzerin oder des infizierten Benutzers. Die infizierte Benutzerin oder der infizierte Benutzer kann ausserdem wählen, ob sie oder er sowohl die engen Kontakte aufgrund des Proximity-Tracing-Systems als auch die Kontakte aufgrund der Teilnahme an einer Veranstaltung warnen will. Darüber hinaus kann sie oder er auch entscheiden, ob er für jede Veranstaltung, an welcher er im relevanten Zeitraum teilgenommen hat, eine Benachrichtigung auslösen will oder nur für einzelne.
Die anderen Benutzerinnen und Benutzer der SwissCovid-App
diff --git a/DP3TApp/Resources/Disclaimer/EN_App_Nutzungsbedingungen.html b/DP3TApp/Resources/Disclaimer/EN_App_Nutzungsbedingungen.html
index 4c34e971..9f1c5b89 100644
--- a/DP3TApp/Resources/Disclaimer/EN_App_Nutzungsbedingungen.html
+++ b/DP3TApp/Resources/Disclaimer/EN_App_Nutzungsbedingungen.html
@@ -65,14 +65,15 @@
The app periodically retrieves a list of the private keys of users of the SwissCovid app and other interoperable apps known to be infected and allows the operating system to check whether at least one locally stored identification code was generated by a private key included in the list. If this is the case, and if proximity of 1.5 metres or less to the mobile phone of at least one infected user of the SwissCovid app or another interoperable app was registered, and if the duration of all such proximity events within one day amounts to at least 15 minutes, then the app issues a notification. Proximity is estimated on the basis of the strength of the signals received.
- Warning system for events: The organiser of an event generates a QR code in their app. People attending the event can use their app to scan the displayed QR code and are thus checked in to the event.
-
-
- The app saves on the mobile phone the event identification codes with the relevant date, duration of attendance and designation of the event. It periodically retrieves from the event back end the list of event identification codes of the infected participants. It compares these event participation codes with the event participation codes stored locally by the app. If there is a match, the app issues the notification.
+ Warning system for events: The organiser of an event generates a QR code in their app or on the website
+
+ qr.swisscovid.ch
+
+ . People attending the event can use their app to scan the displayed QR code and are thus checked in to the event.
3.4
- If an infection is confirmed in a user, experts with access rights (e.g. attending physicians or pharmacists) generate a unique activation code (Covid code), valid for a limited period, which they disclose to the infected user. This user can voluntarily enter the activation code in the app. Notification, or entry of the activation code, occurs only with the explicit consent of the infected user. The infected user can also choose whether they want to warn close contacts on the basis of the proximity tracing system and contacts on the basis of participation in an event. In addition, they can decide whether they want to trigger a notification for every event they attended during the relevant period or only for individual events.
+ The app saves on the mobile phone the event identification codes with the relevant date, duration of attendance and designation of the event. It periodically retrieves from the event back end the list of event identification codes of the infected participants. It compares these event participation codes with the event participation codes stored locally by the app. If there is a match, the app issues the notification. If an infection is confirmed in a user, experts with access rights (e.g. attending physicians or pharmacists) generate a unique activation code (Covid code), valid for a limited period, which they disclose to the infected user. This user can voluntarily enter the activation code in the app. Notification, or entry of the activation code, occurs only with the explicit consent of the infected user. The infected user can also choose whether they want to warn close contacts on the basis of the proximity tracing system and contacts on the basis of participation in an event. In addition, they can decide whether they want to trigger a notification for every event they attended during the relevant period or only for individual events.
Other users of the SwissCovid app or other interoperable apps who came into proximity, as defined in Section 3.3, with the infected user during the infectious period or participated in the same event at the same time are notified by their own apps.
diff --git a/DP3TApp/Resources/Disclaimer/FR_App_Nutzungsbedingungen.html b/DP3TApp/Resources/Disclaimer/FR_App_Nutzungsbedingungen.html
index e35aa195..f0e57dae 100644
--- a/DP3TApp/Resources/Disclaimer/FR_App_Nutzungsbedingungen.html
+++ b/DP3TApp/Resources/Disclaimer/FR_App_Nutzungsbedingungen.html
@@ -28,7 +28,7 @@
818.102
-) et l’ordonnance du 30 juin 2021 sur un système visant à informer d’une infection possible au coronavirus SARS-CoV-2 lors de manifestations (OSIM ; RS 818.102.4).
+) et l’ordonnance du 30 juin 2021 sur un système visant à informer d’une infection possible au coronavirus SARS-CoV-2 lors de manifestations (OSIM; RS 818.102.4).
1.3
L’application vise à informer les utilisateurs qui pourraient avoir été exposés au virus et à établir des statistiques en rapport avec le coronavirus.
@@ -75,17 +75,18 @@
À intervalles réguliers, l’application extrait la liste des clés privées des utilisateurs infectés de l’application SwissCovid ou d’autres applications interopérables, et le système d’exploitation contrôle si au moins un code d’identification enregistré localement a été généré avec une clé privée. Si tel est le cas et qu’un rapprochement d’un mètre et demi ou moins a été établi avec au moins un téléphone mobile d’au moins un utilisateur infecté de l’application SwissCovid ou d’autres applications interopérables et que la durée totale de ces rapprochements atteint ou dépasse les quinze minutes au cours de la même journée, l’application envoie une information. La distance est évaluée en fonction de l’intensité du signal reçu.
- Système d’alerte pour les manifestations : l’organisateur d’une manifestation génère un code QR dans son application. Les visiteurs de la manifestation peuvent scanner le code QR présenté avec leur application et indiquent ainsi avoir participé à la manifestation.
-
-
- L’application enregistre sur le téléphone portable le code d’identification de la manifestation avec sa date, sa durée et sa description. Depuis le
-
- backend
-
- manifestations, elle consulte régulièrement les codes d’identification de la manifestation chez les participants infectés. Elle compare ces codes avec ceux qu’elle a stocké localement. Si deux codes sont les mêmes, elle envoie alors une notification.
+ Système d’alerte pour les manifestations : l’organisateur d’une manifestation génère un code QR dans son application ou sur le site Internet
+
+ qr.swisscovid.ch
+
+ Les visiteurs de la manifestation peuvent scanner le code QR présenté avec leur application et indiquent ainsi avoir participé à la manifestation.
+L’application enregistre sur le téléphone portable le code d’identification de la manifestation avec sa date, sa durée et sa description. Depuis le
+
+ backend
+
+manifestations, elle consulte régulièrement les codes d’identification de la manifestation chez les participants infectés. Elle compare ces codes avec ceux qu’elle a stocké localement. Si deux codes sont les mêmes, elle envoie alors une notification
- 3.4
Si une infection est attestée chez un utilisateur, les professionnels disposant des droits d’accès (p. ex. les médecins traitants ou les pharmaciens) génèrent un code d’autorisation unique et temporaire (code COVID) et le communiquent à l’utilisateur infecté. Ce dernier peut saisir de manière volontaire le code d’autorisation dans son application. La notification et la saisie du code d’autorisation ne se font qu’avec le consentement explicite de la personne infectée. Cette dernière peut par ailleurs choisir si elle souhaite alerter non seulement les contacts étroits détectés par le système de traçage de proximité mais également ceux détectés en raison de leur présence à une manifestation. Elle peut aussi décider de déclencher une notification pour toutes les manifestations auxquelles elle a participé pendant la période concernée ou seulement pour certaines d’entre elles.
diff --git a/DP3TApp/Resources/Disclaimer/IT_App_Nutzungsbedingungen.html b/DP3TApp/Resources/Disclaimer/IT_App_Nutzungsbedingungen.html
index ea5db3c8..25d5d74b 100644
--- a/DP3TApp/Resources/Disclaimer/IT_App_Nutzungsbedingungen.html
+++ b/DP3TApp/Resources/Disclaimer/IT_App_Nutzungsbedingungen.html
@@ -65,14 +65,15 @@
L’app richiama periodicamente un elenco delle chiavi private degli utenti infetti dell’app SwissCovid e delle altre app interoperabili e controlla con il suo sistema operativo se almeno un codice d’identificazione memorizzato localmente è stato generato con una chiave privata dell’elenco. Se ciò si verifica nonché la prossimità da almeno un telefono cellulare di un utente dell’app SwissCovid o delle altre app interoperabili infetto è pari o inferiore a 1,5 metri e la somma della durata di tutte queste prossimità in un giorno raggiunge i quindici minuti, l’app ne informa l’utente. La distanza è stimata in base alla potenza del segnale ricevuto.
- Sistema di allerta per le manifestazioni: l’organizzatore di una manifestazione genera nella propria app un codice QR che i visitatori della manifestazione possono scansionare per effettuare il check-in alla manifestazione.
-
-
- L’app memorizza sul telefono cellulare il codice di identificazione della manifestazione con la rispettiva data, la durata della permanenza e la designazione della manifestazione. Richiama periodicamente dal back end delle manifestazioni l’elenco dei codici di identificazione delle manifestazioni dei partecipanti infetti. Confronta tali codici con i codici di identificazione delle manifestazioni che ha memorizzato localmente. Se da tale confronto emerge una corrispondenza, genera una notifica.
+ Sistema di allerta per le manifestazioni: l’organizzatore di una manifestazione genera nella propria app o tramite la pagina Internet
+
+ qr.swisscovid.ch
+
+ un codice QR che i visitatori della manifestazione possono scansionare per effettuare il check-in alla manifestazione.
3.4
- In caso di infezione accertata di un utente, il personale specialistico avente diritto di accesso (p. es. medici curanti o farmacisti) genera un codice di attivazione (codice Covid) univoco e la cui validità è limitata nel tempo e lo comunica all’utente infetto, che può immetterlo nell’app su base volontaria. La notifica ovvero l’inserimento del codice di attivazione richiedono il consenso esplicito dell’utente infetto. L’utente infetto può scegliere se allertare sia i contatti stretti in base al sistema di tracciamento della prossimità sia i contatti in base alla partecipazione a una manifestazione. Può inoltre decidere se generare una notifica per tutte le manifestazioni alle quali ha partecipato nel periodo rilevante o solo per alcune.
+ L’app memorizza sul telefono cellulare il codice di identificazione della manifestazione con la rispettiva data, la durata della permanenza e la designazione della manifestazione. Richiama periodicamente dal back end delle manifestazioni l’elenco dei codici di identificazione delle manifestazioni dei partecipanti infetti. Confronta tali codici con i codici di identificazione delle manifestazioni che ha memorizzato localmente. Se da tale confronto emerge una corrispondenza, genera una notifica. In caso di infezione accertata di un utente, il personale specialistico avente diritto di accesso (p. es. medici curanti o farmacisti) genera un codice di attivazione (codice Covid) univoco e la cui validità è limitata nel tempo e lo comunica all’utente infetto, che può immetterlo nell’app su base volontaria. La notifica ovvero l’inserimento del codice di attivazione richiedono il consenso esplicito dell’utente infetto. L’utente infetto può scegliere se allertare sia i contatti stretti in base al sistema di tracciamento della prossimità sia i contatti in base alla partecipazione a una manifestazione. Può inoltre decidere se generare una notifica per tutte le manifestazioni alle quali ha partecipato nel periodo rilevante o solo per alcune.
Gli altri utenti dell’app SwissCovid o delle altre app interoperabili che sono stati in prossimità secondo il numero 3.3 con l’utente infetto durante il periodo di infettività o che hanno partecipato nello stesso momento alla medesima manifestazione vengono informati dalla loro app.
From 154087646d0855fcc0c5b2eed3c5137740a7f791 Mon Sep 17 00:00:00 2001
From: Marco Zimmermann
Date: Thu, 9 Sep 2021 13:53:18 +0200
Subject: [PATCH 22/27] improves header announcements
Signed-off-by: Marco Zimmermann
---
.../CheckIn/Modules/NSCheckInCurrentStateModuleView.swift | 2 +-
.../Screens/Statistics/NSCovidCodesStatisticsModuleView.swift | 1 +
.../Screens/Statistics/NSStatisticInfoPopupViewController.swift | 1 +
DP3TApp/SharedUI/Views/NSErrorView.swift | 1 +
4 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/DP3TApp/Screens/CheckIn/Modules/NSCheckInCurrentStateModuleView.swift b/DP3TApp/Screens/CheckIn/Modules/NSCheckInCurrentStateModuleView.swift
index 83218420..71e55452 100644
--- a/DP3TApp/Screens/CheckIn/Modules/NSCheckInCurrentStateModuleView.swift
+++ b/DP3TApp/Screens/CheckIn/Modules/NSCheckInCurrentStateModuleView.swift
@@ -49,7 +49,7 @@ class NSCheckInCurrentStateModuleView: NSModuleBaseView {
checkedInView.isHidden = true
checkedOutView.isHidden = false
checkInEndedView.isHidden = true
- headerTitle = ("checkin_detail_checked_out_title".ub_localized).replacingOccurrences(of: "\n", with: "")
+ headerTitle = "checkin_detail_checked_out_title".ub_localized.replacingOccurrences(of: "\n", with: "")
stackView.accessibilityTraits = [.header]
case let .checkIn(checkIn):
checkedInView.isHidden = false
diff --git a/DP3TApp/Screens/Statistics/NSCovidCodesStatisticsModuleView.swift b/DP3TApp/Screens/Statistics/NSCovidCodesStatisticsModuleView.swift
index cc6116d7..03d9f89f 100644
--- a/DP3TApp/Screens/Statistics/NSCovidCodesStatisticsModuleView.swift
+++ b/DP3TApp/Screens/Statistics/NSCovidCodesStatisticsModuleView.swift
@@ -67,6 +67,7 @@ class NSCovidCodesStatisticsModuleView: UIView {
private func addContent() {
title.text = "stats_covidcodes_title".ub_localized
+ title.accessibilityTraits = [.header]
stackView.addArrangedView(title)
stackView.addSpacerView(NSPadding.medium)
diff --git a/DP3TApp/Screens/Statistics/NSStatisticInfoPopupViewController.swift b/DP3TApp/Screens/Statistics/NSStatisticInfoPopupViewController.swift
index b9b7e595..0003ed17 100644
--- a/DP3TApp/Screens/Statistics/NSStatisticInfoPopupViewController.swift
+++ b/DP3TApp/Screens/Statistics/NSStatisticInfoPopupViewController.swift
@@ -30,6 +30,7 @@ class NSStatisticInfoPopupViewController: NSPopupViewController {
let subtitle = NSLabel(.title)
subtitle.text = type.subtitle
+ subtitle.accessibilityTraits = [.header]
let insets = UIEdgeInsets(top: 0, left: 20, bottom: 0, right: 20)
diff --git a/DP3TApp/SharedUI/Views/NSErrorView.swift b/DP3TApp/SharedUI/Views/NSErrorView.swift
index db484beb..f6aa70aa 100644
--- a/DP3TApp/SharedUI/Views/NSErrorView.swift
+++ b/DP3TApp/SharedUI/Views/NSErrorView.swift
@@ -85,6 +85,7 @@ class NSErrorView: UIView {
imageView.image = model?.icon
titleLabel.text = model?.title
titleLabel.accessibilityLabel = "\("loading_view_error_title".ub_localized): \(titleLabel.text ?? "")"
+ titleLabel.accessibilityTraits = [.header]
textLabel.text = model?.text
actionButton.touchUpCallback = { [weak self] in
self?.model?.action?(self)
From 250970491ae23adb028833f1482b0eaf07cbe589 Mon Sep 17 00:00:00 2001
From: Marco Zimmermann
Date: Thu, 9 Sep 2021 17:06:48 +0200
Subject: [PATCH 23/27] updates missing translations
Signed-off-by: Marco Zimmermann
---
Translations/bs.lproj/Localizable.strings | 38 +++++++++----------
Translations/es.lproj/Localizable.strings | 38 +++++++++----------
Translations/hr.lproj/Localizable.strings | 38 +++++++++----------
Translations/pt.lproj/Localizable.strings | 38 +++++++++----------
Translations/sq.lproj/Localizable.strings | 38 +++++++++----------
.../sr-Latn-RS.lproj/Localizable.strings | 38 +++++++++----------
Translations/ti.lproj/Localizable.strings | 38 +++++++++----------
Translations/tr.lproj/Localizable.strings | 38 +++++++++----------
8 files changed, 152 insertions(+), 152 deletions(-)
diff --git a/Translations/bs.lproj/Localizable.strings b/Translations/bs.lproj/Localizable.strings
index b5702668..3347bbe8 100644
--- a/Translations/bs.lproj/Localizable.strings
+++ b/Translations/bs.lproj/Localizable.strings
@@ -1466,7 +1466,7 @@
"error_title" = "Greška";
"qr_scanner_error_code_not_yet_valid" = "QR kod je još nevažeći";
"qr_scanner_error_code_not_valid_anymore" = "QR kod je nevažeći ";
-"error_already_checked_in" = "You are already checked in at another location.";
+"error_already_checked_in" = "Već se prijavljeni na drugom mestu.";
"error_update_text" = "Ovaj QR kod nije kompatibilan sa instaliranom verzijom aplikacije. Ažurirajte aplikaciju, da biste nastavili korišćenje.";
"error_update_title" = "Potrebno ažuriranje";
"error_action_update" = "Sada ažurirati";
@@ -1739,55 +1739,55 @@
"covid_certificate_install_app" = "Instalirati aplikaciju";
/*Titel des Buttons, der das PDF herunterlädt*/
-"web_generator_download_pdf_button" = "Download PDF";
+"web_generator_download_pdf_button" = "Skini PDF";
/*Shown when the Datenschutzerklärung/Nutzungsbedingungen is reduced*/
-"accessibility_expandable_box_reduced_state" = "collapsed";
+"accessibility_expandable_box_reduced_state" = "redukovano";
/*Shown when the Datenschutzerklärung/Nutzungsbedingungen is expanded*/
-"accessibility_expandable_box_expanded_state" = "expanded";
+"accessibility_expandable_box_expanded_state" = "prošireno";
/*CheckIns: Titel in Popup bei überlappenden Check-Ins*/
-"checkin_overlap_popup_title" = "Cannot save";
+"checkin_overlap_popup_title" = "Nije moguće osigurati";
/*Check-Ins: Text bei Popup bei überlappenden Check-Ins, {CHECKIN} wird z.B. durch "Sitzungszimmer E318" ersetzt*/
-"checkin_overlap_popup_text" = "The times you selected for {CHECKIN} overlap with other check-ins. Please check your entries again.";
+"checkin_overlap_popup_text" = "Odabrano vreme za {CHECKIN} se poklapa sa drugim vremenom prijave. Molimo proverite još jednom vaše unose.";
/*Check-Ins: Button bei Popup bei überlappenden Check-Ins*/
-"checkin_overlap_back_button" = "Back";
+"checkin_overlap_back_button" = "Nazad";
/*This will be read by the screenreader instead of "h" (for the reminder options), in plural form*/
-"accessibility_reminder_option_hours_plural" = "Hours";
+"accessibility_reminder_option_hours_plural" = "Sati";
/*This will be read by the screenreader instead of "'" (for the reminder options)*/
-"accessibility_reminder_option_minutes" = "Minutes";
+"accessibility_reminder_option_minutes" = "Minuta";
/*This will be read by the screenreader instead of "h" (for the reminder options), in singular form*/
-"accessibility_reminder_option_hour" = "Hour";
+"accessibility_reminder_option_hour" = "Sat";
/*Check-Ins: Text im Popup bei überlappenden Check-Ins, wenn keine Überlappungen mehr da sind. {CHECKIN} wird durch Raum ersetzt.*/
-"checkin_overlap_popup_success_text" = "There are no longer any conflicts for the time you entered. You can now check out of {CHECKIN}.";
+"checkin_overlap_popup_success_text" = "Više ne postoje protivrečnosti kod unetog vremena. Sada se možete odjaviti sa {CHECKIN}.";
/*Wird angezeigt, wenn der QR-Code erfolgreich erstellt wurde*/
-"web_generator_success_title" = "QR code generated";
+"web_generator_success_title" = "QR kod je izrađen";
/*Titel des Buttons, mit dem man einen neuen QR-Code erstellen kann*/
-"web_generator_reset_button" = "Generate new QR code";
+"web_generator_reset_button" = "Izradi novi QR kod";
/*Used by VoiceOver to explain what the info button in the navigation bar does*/
-"accessibility_info_button_app" = "More information on the app";
+"accessibility_info_button_app" = "Više informacija o aplikaciji";
/*Used by VoiceOver to explain what the info button in the Stats-Tab at CovidCodes does*/
-"accessibility_info_button_covidcode" = "More information on Covidcodes";
+"accessibility_info_button_covidcode" = "Više informacija o Covid kodu";
/*Used by VoiceOver to explain what the info button in the Stats-Tab at Number of cases does*/
-"accessibility_info_button_numberofcases" = "More information on case numbers";
+"accessibility_info_button_numberofcases" = "Više informacija o broju slučajeva";
/*Is read by the screenreader, when newly created QR-code is shown*/
-"accessibility_preview_qr_code_alternative_text" = "Generated QR code";
+"accessibility_preview_qr_code_alternative_text" = "Izrađeni QR kod";
/*Check-In: Hinweis, dass QR-Codes auch im Web erstellt werden können*/
-"checkin_generate_web_hint" = "Alternatively, you can also generate QR codes at qr.swisscovid.ch.";
+"checkin_generate_web_hint" = "Alternativno, možete izraditi QR kod na qr.swisscovid.ch.";
/*Check-In: Hinweis dass man sich beim vorherigen Ort zuerst auschecken muss.*/
-"error_already_checked_in_text" = "To check in to a new location, you first need to check out.";
+"error_already_checked_in_text" = "Kako biste se prijavili na nekom drugom mestu, najpre se morate odjaviti odavde.";
diff --git a/Translations/es.lproj/Localizable.strings b/Translations/es.lproj/Localizable.strings
index 054a0905..a28a4fe0 100644
--- a/Translations/es.lproj/Localizable.strings
+++ b/Translations/es.lproj/Localizable.strings
@@ -1466,7 +1466,7 @@
"error_title" = "Error";
"qr_scanner_error_code_not_yet_valid" = "Código QR aún no válido";
"qr_scanner_error_code_not_valid_anymore" = "Código QR ya no es válido";
-"error_already_checked_in" = "You are already checked in at another location.";
+"error_already_checked_in" = "Está usted registrado mediante Check-in en otro lugar.";
"error_update_text" = "Este código QR no es compatible con la versión instalada de la app. Actualice la aplicación para continuar.";
"error_update_title" = "Se requiere actualización";
"error_action_update" = "Actualizar ahora";
@@ -1739,55 +1739,55 @@
"covid_certificate_install_app" = "Instalar la aplicación";
/*Titel des Buttons, der das PDF herunterlädt*/
-"web_generator_download_pdf_button" = "Download PDF";
+"web_generator_download_pdf_button" = "Descargar PDF";
/*Shown when the Datenschutzerklärung/Nutzungsbedingungen is reduced*/
-"accessibility_expandable_box_reduced_state" = "collapsed";
+"accessibility_expandable_box_reduced_state" = "visión reducida";
/*Shown when the Datenschutzerklärung/Nutzungsbedingungen is expanded*/
-"accessibility_expandable_box_expanded_state" = "expanded";
+"accessibility_expandable_box_expanded_state" = "visión ampliada";
/*CheckIns: Titel in Popup bei überlappenden Check-Ins*/
-"checkin_overlap_popup_title" = "Cannot save";
+"checkin_overlap_popup_title" = "No es posible guardar";
/*Check-Ins: Text bei Popup bei überlappenden Check-Ins, {CHECKIN} wird z.B. durch "Sitzungszimmer E318" ersetzt*/
-"checkin_overlap_popup_text" = "The times you selected for {CHECKIN} overlap with other check-ins. Please check your entries again.";
+"checkin_overlap_popup_text" = "La hora seleccionada para {CHECKIN} coincide con otros Check-ins. Por favor, controle nuevamente las indicaciones.";
/*Check-Ins: Button bei Popup bei überlappenden Check-Ins*/
-"checkin_overlap_back_button" = "Back";
+"checkin_overlap_back_button" = "Volver";
/*This will be read by the screenreader instead of "h" (for the reminder options), in plural form*/
-"accessibility_reminder_option_hours_plural" = "Hours";
+"accessibility_reminder_option_hours_plural" = "horas";
/*This will be read by the screenreader instead of "'" (for the reminder options)*/
-"accessibility_reminder_option_minutes" = "Minutes";
+"accessibility_reminder_option_minutes" = "minutos";
/*This will be read by the screenreader instead of "h" (for the reminder options), in singular form*/
-"accessibility_reminder_option_hour" = "Hour";
+"accessibility_reminder_option_hour" = "hora";
/*Check-Ins: Text im Popup bei überlappenden Check-Ins, wenn keine Überlappungen mehr da sind. {CHECKIN} wird durch Raum ersetzt.*/
-"checkin_overlap_popup_success_text" = "There are no longer any conflicts for the time you entered. You can now check out of {CHECKIN}.";
+"checkin_overlap_popup_success_text" = "No hay conflicto para la hora indicada. Puede usted salir de {CHECKIN}.";
/*Wird angezeigt, wenn der QR-Code erfolgreich erstellt wurde*/
-"web_generator_success_title" = "QR code generated";
+"web_generator_success_title" = "Código QR ha sido generado";
/*Titel des Buttons, mit dem man einen neuen QR-Code erstellen kann*/
-"web_generator_reset_button" = "Generate new QR code";
+"web_generator_reset_button" = "Generar un nuevo código QR";
/*Used by VoiceOver to explain what the info button in the navigation bar does*/
-"accessibility_info_button_app" = "More information on the app";
+"accessibility_info_button_app" = "Más información sobre la app";
/*Used by VoiceOver to explain what the info button in the Stats-Tab at CovidCodes does*/
-"accessibility_info_button_covidcode" = "More information on Covidcodes";
+"accessibility_info_button_covidcode" = "Más información sobre el código Covid";
/*Used by VoiceOver to explain what the info button in the Stats-Tab at Number of cases does*/
-"accessibility_info_button_numberofcases" = "More information on case numbers";
+"accessibility_info_button_numberofcases" = "Más información sobre el número de casos";
/*Is read by the screenreader, when newly created QR-code is shown*/
-"accessibility_preview_qr_code_alternative_text" = "Generated QR code";
+"accessibility_preview_qr_code_alternative_text" = "Código QR generado";
/*Check-In: Hinweis, dass QR-Codes auch im Web erstellt werden können*/
-"checkin_generate_web_hint" = "Alternatively, you can also generate QR codes at qr.swisscovid.ch.";
+"checkin_generate_web_hint" = "También puede usted generar códigos QR en qr.swisscovid.ch.";
/*Check-In: Hinweis dass man sich beim vorherigen Ort zuerst auschecken muss.*/
-"error_already_checked_in_text" = "To check in to a new location, you first need to check out.";
+"error_already_checked_in_text" = "Para poder registrarse en una nueva localidad, tiene que primero darse de baja mediante Check-out. ";
diff --git a/Translations/hr.lproj/Localizable.strings b/Translations/hr.lproj/Localizable.strings
index ac3273d0..e87fe704 100644
--- a/Translations/hr.lproj/Localizable.strings
+++ b/Translations/hr.lproj/Localizable.strings
@@ -1464,7 +1464,7 @@
"error_title" = "Greška";
"qr_scanner_error_code_not_yet_valid" = "QR kod je još nevažeći";
"qr_scanner_error_code_not_valid_anymore" = "QR kod je nevažeći ";
-"error_already_checked_in" = "You are already checked in at another location.";
+"error_already_checked_in" = "Već se prijavljeni na drugom mestu.";
"error_update_text" = "Ovaj QR kod nije kompatibilan sa instaliranom verzijom aplikacije. Ažurirajte aplikaciju, da biste nastavili korišćenje.";
"error_update_title" = "Potrebno ažuriranje";
"error_action_update" = "Sada ažurirati";
@@ -1737,55 +1737,55 @@
"covid_certificate_install_app" = "Instalirati aplikaciju";
/*Titel des Buttons, der das PDF herunterlädt*/
-"web_generator_download_pdf_button" = "Download PDF";
+"web_generator_download_pdf_button" = "Skini PDF";
/*Shown when the Datenschutzerklärung/Nutzungsbedingungen is reduced*/
-"accessibility_expandable_box_reduced_state" = "collapsed";
+"accessibility_expandable_box_reduced_state" = "redukovano";
/*Shown when the Datenschutzerklärung/Nutzungsbedingungen is expanded*/
-"accessibility_expandable_box_expanded_state" = "expanded";
+"accessibility_expandable_box_expanded_state" = "prošireno";
/*CheckIns: Titel in Popup bei überlappenden Check-Ins*/
-"checkin_overlap_popup_title" = "Cannot save";
+"checkin_overlap_popup_title" = "Nije moguće osigurati";
/*Check-Ins: Text bei Popup bei überlappenden Check-Ins, {CHECKIN} wird z.B. durch "Sitzungszimmer E318" ersetzt*/
-"checkin_overlap_popup_text" = "The times you selected for {CHECKIN} overlap with other check-ins. Please check your entries again.";
+"checkin_overlap_popup_text" = "Odabrano vreme za {CHECKIN} se poklapa sa drugim vremenom prijave. Molimo proverite još jednom vaše unose.";
/*Check-Ins: Button bei Popup bei überlappenden Check-Ins*/
-"checkin_overlap_back_button" = "Back";
+"checkin_overlap_back_button" = "Nazad";
/*This will be read by the screenreader instead of "h" (for the reminder options), in plural form*/
-"accessibility_reminder_option_hours_plural" = "Hours";
+"accessibility_reminder_option_hours_plural" = "Sati";
/*This will be read by the screenreader instead of "'" (for the reminder options)*/
-"accessibility_reminder_option_minutes" = "Minutes";
+"accessibility_reminder_option_minutes" = "Minuta";
/*This will be read by the screenreader instead of "h" (for the reminder options), in singular form*/
-"accessibility_reminder_option_hour" = "Hour";
+"accessibility_reminder_option_hour" = "Sat";
/*Check-Ins: Text im Popup bei überlappenden Check-Ins, wenn keine Überlappungen mehr da sind. {CHECKIN} wird durch Raum ersetzt.*/
-"checkin_overlap_popup_success_text" = "There are no longer any conflicts for the time you entered. You can now check out of {CHECKIN}.";
+"checkin_overlap_popup_success_text" = "Više ne postoje protivrečnosti kod unetog vremena. Sada se možete odjaviti sa {CHECKIN}.";
/*Wird angezeigt, wenn der QR-Code erfolgreich erstellt wurde*/
-"web_generator_success_title" = "QR code generated";
+"web_generator_success_title" = "QR kod je izrađen";
/*Titel des Buttons, mit dem man einen neuen QR-Code erstellen kann*/
-"web_generator_reset_button" = "Generate new QR code";
+"web_generator_reset_button" = "Izradi novi QR kod";
/*Used by VoiceOver to explain what the info button in the navigation bar does*/
-"accessibility_info_button_app" = "More information on the app";
+"accessibility_info_button_app" = "Više informacija o aplikaciji";
/*Used by VoiceOver to explain what the info button in the Stats-Tab at CovidCodes does*/
-"accessibility_info_button_covidcode" = "More information on Covidcodes";
+"accessibility_info_button_covidcode" = "Više informacija o Covid kodu";
/*Used by VoiceOver to explain what the info button in the Stats-Tab at Number of cases does*/
-"accessibility_info_button_numberofcases" = "More information on case numbers";
+"accessibility_info_button_numberofcases" = "Više informacija o broju slučajeva";
/*Is read by the screenreader, when newly created QR-code is shown*/
-"accessibility_preview_qr_code_alternative_text" = "Generated QR code";
+"accessibility_preview_qr_code_alternative_text" = "Izrađeni QR kod";
/*Check-In: Hinweis, dass QR-Codes auch im Web erstellt werden können*/
-"checkin_generate_web_hint" = "Alternatively, you can also generate QR codes at qr.swisscovid.ch.";
+"checkin_generate_web_hint" = "Alternativno, možete izraditi QR kod na qr.swisscovid.ch.";
/*Check-In: Hinweis dass man sich beim vorherigen Ort zuerst auschecken muss.*/
-"error_already_checked_in_text" = "To check in to a new location, you first need to check out.";
+"error_already_checked_in_text" = "Kako biste se prijavili na nekom drugom mestu, najpre se morate odjaviti odavde.";
diff --git a/Translations/pt.lproj/Localizable.strings b/Translations/pt.lproj/Localizable.strings
index 9fb88f0c..efce7e0f 100644
--- a/Translations/pt.lproj/Localizable.strings
+++ b/Translations/pt.lproj/Localizable.strings
@@ -1466,7 +1466,7 @@
"error_title" = "Erro";
"qr_scanner_error_code_not_yet_valid" = "O código QR ainda não é válido!";
"qr_scanner_error_code_not_valid_anymore" = "O código QR não é mais válido!";
-"error_already_checked_in" = "You are already checked in at another location.";
+"error_already_checked_in" = "Já fez check-in noutro lugar.";
"error_update_text" = "Este código QR não é compatível com a versão do aplicativo instalada. Por favor, atualize o aplicativo para continuar.";
"error_update_title" = "É necessário atualizar.";
"error_action_update" = "Atualizar agora";
@@ -1739,55 +1739,55 @@
"covid_certificate_install_app" = "Instalar o aplicativo";
/*Titel des Buttons, der das PDF herunterlädt*/
-"web_generator_download_pdf_button" = "Download PDF";
+"web_generator_download_pdf_button" = "Baixar o PDF";
/*Shown when the Datenschutzerklärung/Nutzungsbedingungen is reduced*/
-"accessibility_expandable_box_reduced_state" = "collapsed";
+"accessibility_expandable_box_reduced_state" = "reduzido";
/*Shown when the Datenschutzerklärung/Nutzungsbedingungen is expanded*/
-"accessibility_expandable_box_expanded_state" = "expanded";
+"accessibility_expandable_box_expanded_state" = "ampliado";
/*CheckIns: Titel in Popup bei überlappenden Check-Ins*/
-"checkin_overlap_popup_title" = "Cannot save";
+"checkin_overlap_popup_title" = "Não é possível salvar";
/*Check-Ins: Text bei Popup bei überlappenden Check-Ins, {CHECKIN} wird z.B. durch "Sitzungszimmer E318" ersetzt*/
-"checkin_overlap_popup_text" = "The times you selected for {CHECKIN} overlap with other check-ins. Please check your entries again.";
+"checkin_overlap_popup_text" = "Os seus períodos de tempo selecionados para {CHECKIN} sobrepõem-se a outros check-ins. Por favor, verifique as suas informações.";
/*Check-Ins: Button bei Popup bei überlappenden Check-Ins*/
-"checkin_overlap_back_button" = "Back";
+"checkin_overlap_back_button" = "Voltar";
/*This will be read by the screenreader instead of "h" (for the reminder options), in plural form*/
-"accessibility_reminder_option_hours_plural" = "Hours";
+"accessibility_reminder_option_hours_plural" = "horas";
/*This will be read by the screenreader instead of "'" (for the reminder options)*/
-"accessibility_reminder_option_minutes" = "Minutes";
+"accessibility_reminder_option_minutes" = "minutos";
/*This will be read by the screenreader instead of "h" (for the reminder options), in singular form*/
-"accessibility_reminder_option_hour" = "Hour";
+"accessibility_reminder_option_hour" = "hora";
/*Check-Ins: Text im Popup bei überlappenden Check-Ins, wenn keine Überlappungen mehr da sind. {CHECKIN} wird durch Raum ersetzt.*/
-"checkin_overlap_popup_success_text" = "There are no longer any conflicts for the time you entered. You can now check out of {CHECKIN}.";
+"checkin_overlap_popup_success_text" = "Não há mais conflitos para o seu período de tempo introduzido. Agora, você pode fazer check-out em {CHECKIN}.";
/*Wird angezeigt, wenn der QR-Code erfolgreich erstellt wurde*/
-"web_generator_success_title" = "QR code generated";
+"web_generator_success_title" = "Criou um código QR";
/*Titel des Buttons, mit dem man einen neuen QR-Code erstellen kann*/
-"web_generator_reset_button" = "Generate new QR code";
+"web_generator_reset_button" = "Criar um novo código QR";
/*Used by VoiceOver to explain what the info button in the navigation bar does*/
-"accessibility_info_button_app" = "More information on the app";
+"accessibility_info_button_app" = "Mais informações sobre o aplicativo";
/*Used by VoiceOver to explain what the info button in the Stats-Tab at CovidCodes does*/
-"accessibility_info_button_covidcode" = "More information on Covidcodes";
+"accessibility_info_button_covidcode" = "Mais informações sobre Covidcodes";
/*Used by VoiceOver to explain what the info button in the Stats-Tab at Number of cases does*/
-"accessibility_info_button_numberofcases" = "More information on case numbers";
+"accessibility_info_button_numberofcases" = "Mais informações sobre os números de incidentes";
/*Is read by the screenreader, when newly created QR-code is shown*/
-"accessibility_preview_qr_code_alternative_text" = "Generated QR code";
+"accessibility_preview_qr_code_alternative_text" = "Código QR criado";
/*Check-In: Hinweis, dass QR-Codes auch im Web erstellt werden können*/
-"checkin_generate_web_hint" = "Alternatively, you can also generate QR codes at qr.swisscovid.ch.";
+"checkin_generate_web_hint" = "Alternativamente também pode criar códigos QR em qr.swisscovid.ch.";
/*Check-In: Hinweis dass man sich beim vorherigen Ort zuerst auschecken muss.*/
-"error_already_checked_in_text" = "To check in to a new location, you first need to check out.";
+"error_already_checked_in_text" = "Para fazer check-in noutro lugar, primeiro é necessário fazer check-out.";
diff --git a/Translations/sq.lproj/Localizable.strings b/Translations/sq.lproj/Localizable.strings
index 6c5937d8..24aeaa07 100644
--- a/Translations/sq.lproj/Localizable.strings
+++ b/Translations/sq.lproj/Localizable.strings
@@ -1466,7 +1466,7 @@
"error_title" = "Gabim";
"qr_scanner_error_code_not_yet_valid" = "Kodi QR nuk është ende i vlefshëm";
"qr_scanner_error_code_not_valid_anymore" = "Kodi QR nuk është më i vlefshëm";
-"error_already_checked_in" = "You are already checked in at another location.";
+"error_already_checked_in" = "Ju tashmë jeni regjistruar në një vend tjetër.";
"error_update_text" = "Ky kod QR nuk është i pajtueshëm me versionin e aplikacionit të instaluar. Përditësoni aplikacionin për të vazhduar më tej.";
"error_update_title" = "Përditësimi i nevojshëm";
"error_action_update" = "Përditësoni tani";
@@ -1739,55 +1739,55 @@
"covid_certificate_install_app" = "Instaloni aplikacionin";
/*Titel des Buttons, der das PDF herunterlädt*/
-"web_generator_download_pdf_button" = "Download PDF";
+"web_generator_download_pdf_button" = "Shkarkoni PDF";
/*Shown when the Datenschutzerklärung/Nutzungsbedingungen is reduced*/
-"accessibility_expandable_box_reduced_state" = "collapsed";
+"accessibility_expandable_box_reduced_state" = "E reduktuar";
/*Shown when the Datenschutzerklärung/Nutzungsbedingungen is expanded*/
-"accessibility_expandable_box_expanded_state" = "expanded";
+"accessibility_expandable_box_expanded_state" = "E zgjeruar";
/*CheckIns: Titel in Popup bei überlappenden Check-Ins*/
-"checkin_overlap_popup_title" = "Cannot save";
+"checkin_overlap_popup_title" = "Ruajtja nuk është e mundur";
/*Check-Ins: Text bei Popup bei überlappenden Check-Ins, {CHECKIN} wird z.B. durch "Sitzungszimmer E318" ersetzt*/
-"checkin_overlap_popup_text" = "The times you selected for {CHECKIN} overlap with other check-ins. Please check your entries again.";
+"checkin_overlap_popup_text" = "Kohët tuaja të zgjedhura për {CHECKIN} përkojnë me Check-in e tjera. Kontrolloni edhe njëherë të dhënat tuaja.";
/*Check-Ins: Button bei Popup bei überlappenden Check-Ins*/
-"checkin_overlap_back_button" = "Back";
+"checkin_overlap_back_button" = "Kthehu";
/*This will be read by the screenreader instead of "h" (for the reminder options), in plural form*/
-"accessibility_reminder_option_hours_plural" = "Hours";
+"accessibility_reminder_option_hours_plural" = "Orë";
/*This will be read by the screenreader instead of "'" (for the reminder options)*/
-"accessibility_reminder_option_minutes" = "Minutes";
+"accessibility_reminder_option_minutes" = "Minuta";
/*This will be read by the screenreader instead of "h" (for the reminder options), in singular form*/
-"accessibility_reminder_option_hour" = "Hour";
+"accessibility_reminder_option_hour" = "Orë";
/*Check-Ins: Text im Popup bei überlappenden Check-Ins, wenn keine Überlappungen mehr da sind. {CHECKIN} wird durch Raum ersetzt.*/
-"checkin_overlap_popup_success_text" = "There are no longer any conflicts for the time you entered. You can now check out of {CHECKIN}.";
+"checkin_overlap_popup_success_text" = "Nuk ka më konflikte për kohën tuaj të regjistruar. Ju mund të kontrolloheni tani te {CHECKIN}.";
/*Wird angezeigt, wenn der QR-Code erfolgreich erstellt wurde*/
-"web_generator_success_title" = "QR code generated";
+"web_generator_success_title" = "Kodi i krijuar QR";
/*Titel des Buttons, mit dem man einen neuen QR-Code erstellen kann*/
-"web_generator_reset_button" = "Generate new QR code";
+"web_generator_reset_button" = "Krijoni kodin e ri QR";
/*Used by VoiceOver to explain what the info button in the navigation bar does*/
-"accessibility_info_button_app" = "More information on the app";
+"accessibility_info_button_app" = "Më shumë informacione për aplikacionin";
/*Used by VoiceOver to explain what the info button in the Stats-Tab at CovidCodes does*/
-"accessibility_info_button_covidcode" = "More information on Covidcodes";
+"accessibility_info_button_covidcode" = "Më shumë informacione për kodin e Covid";
/*Used by VoiceOver to explain what the info button in the Stats-Tab at Number of cases does*/
-"accessibility_info_button_numberofcases" = "More information on case numbers";
+"accessibility_info_button_numberofcases" = "Më shumë informacione për numrin e rasteve";
/*Is read by the screenreader, when newly created QR-code is shown*/
-"accessibility_preview_qr_code_alternative_text" = "Generated QR code";
+"accessibility_preview_qr_code_alternative_text" = "Kodi i krijuar QR";
/*Check-In: Hinweis, dass QR-Codes auch im Web erstellt werden können*/
-"checkin_generate_web_hint" = "Alternatively, you can also generate QR codes at qr.swisscovid.ch.";
+"checkin_generate_web_hint" = "Si alternativë mund të krijoni kodin QR edhe në qr.swisscovid.ch.";
/*Check-In: Hinweis dass man sich beim vorherigen Ort zuerst auschecken muss.*/
-"error_already_checked_in_text" = "To check in to a new location, you first need to check out.";
+"error_already_checked_in_text" = "Për t’u regjistruar në një vend të ri, së pari duhet të kontrolloheni.";
diff --git a/Translations/sr-Latn-RS.lproj/Localizable.strings b/Translations/sr-Latn-RS.lproj/Localizable.strings
index d38741f9..01bfdc12 100644
--- a/Translations/sr-Latn-RS.lproj/Localizable.strings
+++ b/Translations/sr-Latn-RS.lproj/Localizable.strings
@@ -1464,7 +1464,7 @@
"error_title" = "Greška";
"qr_scanner_error_code_not_yet_valid" = "QR kod je još nevažeći";
"qr_scanner_error_code_not_valid_anymore" = "QR kod je nevažeći ";
-"error_already_checked_in" = "You are already checked in at another location.";
+"error_already_checked_in" = "Već se prijavljeni na drugom mestu.";
"error_update_text" = "Ovaj QR kod nije kompatibilan sa instaliranom verzijom aplikacije. Ažurirajte aplikaciju, da biste nastavili korišćenje.";
"error_update_title" = "Potrebno ažuriranje";
"error_action_update" = "Sada ažurirati";
@@ -1737,55 +1737,55 @@
"covid_certificate_install_app" = "Instalirati aplikaciju";
/*Titel des Buttons, der das PDF herunterlädt*/
-"web_generator_download_pdf_button" = "Download PDF";
+"web_generator_download_pdf_button" = "Skini PDF";
/*Shown when the Datenschutzerklärung/Nutzungsbedingungen is reduced*/
-"accessibility_expandable_box_reduced_state" = "collapsed";
+"accessibility_expandable_box_reduced_state" = "redukovano";
/*Shown when the Datenschutzerklärung/Nutzungsbedingungen is expanded*/
-"accessibility_expandable_box_expanded_state" = "expanded";
+"accessibility_expandable_box_expanded_state" = "prošireno";
/*CheckIns: Titel in Popup bei überlappenden Check-Ins*/
-"checkin_overlap_popup_title" = "Cannot save";
+"checkin_overlap_popup_title" = "Nije moguće osigurati";
/*Check-Ins: Text bei Popup bei überlappenden Check-Ins, {CHECKIN} wird z.B. durch "Sitzungszimmer E318" ersetzt*/
-"checkin_overlap_popup_text" = "The times you selected for {CHECKIN} overlap with other check-ins. Please check your entries again.";
+"checkin_overlap_popup_text" = "Odabrano vreme za {CHECKIN} se poklapa sa drugim vremenom prijave. Molimo proverite još jednom vaše unose.";
/*Check-Ins: Button bei Popup bei überlappenden Check-Ins*/
-"checkin_overlap_back_button" = "Back";
+"checkin_overlap_back_button" = "Nazad";
/*This will be read by the screenreader instead of "h" (for the reminder options), in plural form*/
-"accessibility_reminder_option_hours_plural" = "Hours";
+"accessibility_reminder_option_hours_plural" = "Sati";
/*This will be read by the screenreader instead of "'" (for the reminder options)*/
-"accessibility_reminder_option_minutes" = "Minutes";
+"accessibility_reminder_option_minutes" = "Minuta";
/*This will be read by the screenreader instead of "h" (for the reminder options), in singular form*/
-"accessibility_reminder_option_hour" = "Hour";
+"accessibility_reminder_option_hour" = "Sat";
/*Check-Ins: Text im Popup bei überlappenden Check-Ins, wenn keine Überlappungen mehr da sind. {CHECKIN} wird durch Raum ersetzt.*/
-"checkin_overlap_popup_success_text" = "There are no longer any conflicts for the time you entered. You can now check out of {CHECKIN}.";
+"checkin_overlap_popup_success_text" = "Više ne postoje protivrečnosti kod unetog vremena. Sada se možete odjaviti sa {CHECKIN}.";
/*Wird angezeigt, wenn der QR-Code erfolgreich erstellt wurde*/
-"web_generator_success_title" = "QR code generated";
+"web_generator_success_title" = "QR kod je izrađen";
/*Titel des Buttons, mit dem man einen neuen QR-Code erstellen kann*/
-"web_generator_reset_button" = "Generate new QR code";
+"web_generator_reset_button" = "Izradi novi QR kod";
/*Used by VoiceOver to explain what the info button in the navigation bar does*/
-"accessibility_info_button_app" = "More information on the app";
+"accessibility_info_button_app" = "Više informacija o aplikaciji";
/*Used by VoiceOver to explain what the info button in the Stats-Tab at CovidCodes does*/
-"accessibility_info_button_covidcode" = "More information on Covidcodes";
+"accessibility_info_button_covidcode" = "Više informacija o Covid kodu";
/*Used by VoiceOver to explain what the info button in the Stats-Tab at Number of cases does*/
-"accessibility_info_button_numberofcases" = "More information on case numbers";
+"accessibility_info_button_numberofcases" = "Više informacija o broju slučajeva";
/*Is read by the screenreader, when newly created QR-code is shown*/
-"accessibility_preview_qr_code_alternative_text" = "Generated QR code";
+"accessibility_preview_qr_code_alternative_text" = "Izrađeni QR kod";
/*Check-In: Hinweis, dass QR-Codes auch im Web erstellt werden können*/
-"checkin_generate_web_hint" = "Alternatively, you can also generate QR codes at qr.swisscovid.ch.";
+"checkin_generate_web_hint" = "Alternativno, možete izraditi QR kod na qr.swisscovid.ch.";
/*Check-In: Hinweis dass man sich beim vorherigen Ort zuerst auschecken muss.*/
-"error_already_checked_in_text" = "To check in to a new location, you first need to check out.";
+"error_already_checked_in_text" = "Kako biste se prijavili na nekom drugom mestu, najpre se morate odjaviti odavde.";
diff --git a/Translations/ti.lproj/Localizable.strings b/Translations/ti.lproj/Localizable.strings
index 164f1c4d..80ea5285 100644
--- a/Translations/ti.lproj/Localizable.strings
+++ b/Translations/ti.lproj/Localizable.strings
@@ -1465,7 +1465,7 @@
"error_title" = "ጉድለት";
"qr_scanner_error_code_not_yet_valid" = "QR-ኮድ ገና ብቑዕ ኣይኮነን";
"qr_scanner_error_code_not_valid_anymore" = "ብቕዓት QR-Code ሓሊፉ";
-"error_already_checked_in" = "You are already checked in at another location.";
+"error_already_checked_in" = "ድሮ ኣብ ካልእ ቦታ ኣቲኻ ዘለኻ።";
"error_update_text" = "እዚ ኮድ QR ምስቲ ዝተተከለ ቨርዝዮን ኤፕ ኣይሰርሕን እዩ። ነቲ ኤፕ ኣሕድስዎ ብኽብረትኩም መታን ክትቕጸሉ።";
"error_update_title" = "ምምሕዳስ የድሊ";
"error_action_update" = "ሕጂ ምምሕዳስ";
@@ -1738,55 +1738,55 @@
"covid_certificate_install_app" = "ኤፕ ምትካል";
/*Titel des Buttons, der das PDF herunterlädt*/
-"web_generator_download_pdf_button" = "Download PDF";
+"web_generator_download_pdf_button" = "PDF ኣራግፍ";
/*Shown when the Datenschutzerklärung/Nutzungsbedingungen is reduced*/
-"accessibility_expandable_box_reduced_state" = "collapsed";
+"accessibility_expandable_box_reduced_state" = "ዝነከየ";
/*Shown when the Datenschutzerklärung/Nutzungsbedingungen is expanded*/
-"accessibility_expandable_box_expanded_state" = "expanded";
+"accessibility_expandable_box_expanded_state" = "ዝሰፍሐ";
/*CheckIns: Titel in Popup bei überlappenden Check-Ins*/
-"checkin_overlap_popup_title" = "Cannot save";
+"checkin_overlap_popup_title" = "ክድግፍ ኣይክእልን ኢዩ";
/*Check-Ins: Text bei Popup bei überlappenden Check-Ins, {CHECKIN} wird z.B. durch "Sitzungszimmer E318" ersetzt*/
-"checkin_overlap_popup_text" = "The times you selected for {CHECKIN} overlap with other check-ins. Please check your entries again.";
+"checkin_overlap_popup_text" = "እቲ ዝመረጽካዮ ግዜታት ን {CHECKIN} ምስ ካልእ ቸክ-ኢን ተመሳቒሉ። ተ ብኽብረትካ ዝርዝር ሓበሬታኻ እንደገና ርአ።";
/*Check-Ins: Button bei Popup bei überlappenden Check-Ins*/
-"checkin_overlap_back_button" = "Back";
+"checkin_overlap_back_button" = "ተመለስ";
/*This will be read by the screenreader instead of "h" (for the reminder options), in plural form*/
-"accessibility_reminder_option_hours_plural" = "Hours";
+"accessibility_reminder_option_hours_plural" = "ሰዓታት";
/*This will be read by the screenreader instead of "'" (for the reminder options)*/
-"accessibility_reminder_option_minutes" = "Minutes";
+"accessibility_reminder_option_minutes" = "ደቓይቕ";
/*This will be read by the screenreader instead of "h" (for the reminder options), in singular form*/
-"accessibility_reminder_option_hour" = "Hour";
+"accessibility_reminder_option_hour" = "ሰዓት";
/*Check-Ins: Text im Popup bei überlappenden Check-Ins, wenn keine Überlappungen mehr da sind. {CHECKIN} wird durch Raum ersetzt.*/
-"checkin_overlap_popup_success_text" = "There are no longer any conflicts for the time you entered. You can now check out of {CHECKIN}.";
+"checkin_overlap_popup_success_text" = "ኣብቲ እትምዝገብሉ ግዜ ግጭት ኣይኪህሉን እዩ ። ሕጂ ኣብ {CHECKIN} ክትወጽእ ትኽእል ኢኻ።";
/*Wird angezeigt, wenn der QR-Code erfolgreich erstellt wurde*/
-"web_generator_success_title" = "QR code generated";
+"web_generator_success_title" = "ኮድ QR ተፈጢሩ";
/*Titel des Buttons, mit dem man einen neuen QR-Code erstellen kann*/
-"web_generator_reset_button" = "Generate new QR code";
+"web_generator_reset_button" = "ሓድሽ ኮድ QR ምፍጣር";
/*Used by VoiceOver to explain what the info button in the navigation bar does*/
-"accessibility_info_button_app" = "More information on the app";
+"accessibility_info_button_app" = "ብዛዕባ እቲ ኣፕሊኬሽን ዝያዳ ሓበሬታ";
/*Used by VoiceOver to explain what the info button in the Stats-Tab at CovidCodes does*/
-"accessibility_info_button_covidcode" = "More information on Covidcodes";
+"accessibility_info_button_covidcode" = "ብዛዕባ ኮቪድኮድ ዝያዳ ሓበሬታ";
/*Used by VoiceOver to explain what the info button in the Stats-Tab at Number of cases does*/
-"accessibility_info_button_numberofcases" = "More information on case numbers";
+"accessibility_info_button_numberofcases" = "ብዛዕባ ብዝሒ ተለበድቲ ዝያዳ ሓበሬታ";
/*Is read by the screenreader, when newly created QR-code is shown*/
-"accessibility_preview_qr_code_alternative_text" = "Generated QR code";
+"accessibility_preview_qr_code_alternative_text" = "ዝተፈጥረ QR-ኮድ";
/*Check-In: Hinweis, dass QR-Codes auch im Web erstellt werden können*/
-"checkin_generate_web_hint" = "Alternatively, you can also generate QR codes at qr.swisscovid.ch.";
+"checkin_generate_web_hint" = "ብዘይካዚ ኣብ qr.swisscovid.ch ኮድ QR ክትፈጥር ትኽእል ኢኻ።";
/*Check-In: Hinweis dass man sich beim vorherigen Ort zuerst auschecken muss.*/
-"error_already_checked_in_text" = "To check in to a new location, you first need to check out.";
+"error_already_checked_in_text" = "ናብ ካልእ ቦታ ኽትከይድ እንተ ደሊኻ ፈለማ ክትወጽእ (ቸክ-ኣውት ክትገብር) ኣሎካ።";
diff --git a/Translations/tr.lproj/Localizable.strings b/Translations/tr.lproj/Localizable.strings
index 9186d71e..02b8521d 100644
--- a/Translations/tr.lproj/Localizable.strings
+++ b/Translations/tr.lproj/Localizable.strings
@@ -1465,7 +1465,7 @@
"error_title" = "Hata";
"qr_scanner_error_code_not_yet_valid" = "Kare kod henüz geçerli değil";
"qr_scanner_error_code_not_valid_anymore" = "Kare kod artık geçerli değil";
-"error_already_checked_in" = "You are already checked in at another location.";
+"error_already_checked_in" = "Şu anda başka bir yerde Check-in yapmış durumdasınız.";
"error_update_text" = "Bu kare kod artık kurulu olan uygulama sürümü ile uyumlu değil. Lütfen işleme devam edebilmek için uygulamayı güncelleyin.";
"error_update_title" = "Güncelleme gerekiyor";
"error_action_update" = "Şimdi güncelleyin";
@@ -1738,55 +1738,55 @@
"covid_certificate_install_app" = "Uygulamayı kur";
/*Titel des Buttons, der das PDF herunterlädt*/
-"web_generator_download_pdf_button" = "Download PDF";
+"web_generator_download_pdf_button" = "PDF indir";
/*Shown when the Datenschutzerklärung/Nutzungsbedingungen is reduced*/
-"accessibility_expandable_box_reduced_state" = "collapsed";
+"accessibility_expandable_box_reduced_state" = "azaltılmış";
/*Shown when the Datenschutzerklärung/Nutzungsbedingungen is expanded*/
-"accessibility_expandable_box_expanded_state" = "expanded";
+"accessibility_expandable_box_expanded_state" = "genişletilmiş";
/*CheckIns: Titel in Popup bei überlappenden Check-Ins*/
-"checkin_overlap_popup_title" = "Cannot save";
+"checkin_overlap_popup_title" = "Kaydedilemiyor";
/*Check-Ins: Text bei Popup bei überlappenden Check-Ins, {CHECKIN} wird z.B. durch "Sitzungszimmer E318" ersetzt*/
-"checkin_overlap_popup_text" = "The times you selected for {CHECKIN} overlap with other check-ins. Please check your entries again.";
+"checkin_overlap_popup_text" = "Seçmiş olduğunuz saatler {CHECKIN} başka Ckeck-in'ler ile kesişiyor. Lütfen bilgilerinizi yeniden kontrol edin.";
/*Check-Ins: Button bei Popup bei überlappenden Check-Ins*/
-"checkin_overlap_back_button" = "Back";
+"checkin_overlap_back_button" = "Geri";
/*This will be read by the screenreader instead of "h" (for the reminder options), in plural form*/
-"accessibility_reminder_option_hours_plural" = "Hours";
+"accessibility_reminder_option_hours_plural" = "saat";
/*This will be read by the screenreader instead of "'" (for the reminder options)*/
-"accessibility_reminder_option_minutes" = "Minutes";
+"accessibility_reminder_option_minutes" = "dakika";
/*This will be read by the screenreader instead of "h" (for the reminder options), in singular form*/
-"accessibility_reminder_option_hour" = "Hour";
+"accessibility_reminder_option_hour" = "saat";
/*Check-Ins: Text im Popup bei überlappenden Check-Ins, wenn keine Überlappungen mehr da sind. {CHECKIN} wird durch Raum ersetzt.*/
-"checkin_overlap_popup_success_text" = "There are no longer any conflicts for the time you entered. You can now check out of {CHECKIN}.";
+"checkin_overlap_popup_success_text" = "Girmiş olduğunuz süreler için artık çatışma yok. Şimdi {CHECKIN}'de çıkış yapabilirsiniz.";
/*Wird angezeigt, wenn der QR-Code erfolgreich erstellt wurde*/
-"web_generator_success_title" = "QR code generated";
+"web_generator_success_title" = "Kare kod oluşturuldu";
/*Titel des Buttons, mit dem man einen neuen QR-Code erstellen kann*/
-"web_generator_reset_button" = "Generate new QR code";
+"web_generator_reset_button" = "Yeni kare kod oluştur";
/*Used by VoiceOver to explain what the info button in the navigation bar does*/
-"accessibility_info_button_app" = "More information on the app";
+"accessibility_info_button_app" = "Uygulama hakkında daha fazla bilgi";
/*Used by VoiceOver to explain what the info button in the Stats-Tab at CovidCodes does*/
-"accessibility_info_button_covidcode" = "More information on Covidcodes";
+"accessibility_info_button_covidcode" = "Covid kodları hakkında daha fazla bilgi";
/*Used by VoiceOver to explain what the info button in the Stats-Tab at Number of cases does*/
-"accessibility_info_button_numberofcases" = "More information on case numbers";
+"accessibility_info_button_numberofcases" = "Vaka sayıları hakkında daha fazla bilgi";
/*Is read by the screenreader, when newly created QR-code is shown*/
-"accessibility_preview_qr_code_alternative_text" = "Generated QR code";
+"accessibility_preview_qr_code_alternative_text" = "Oluşturulan kare kod";
/*Check-In: Hinweis, dass QR-Codes auch im Web erstellt werden können*/
-"checkin_generate_web_hint" = "Alternatively, you can also generate QR codes at qr.swisscovid.ch.";
+"checkin_generate_web_hint" = "Alternatif olarak kare kodları qr.swisscovid.ch sayfasında da oluşturabilirsiniz.";
/*Check-In: Hinweis dass man sich beim vorherigen Ort zuerst auschecken muss.*/
-"error_already_checked_in_text" = "To check in to a new location, you first need to check out.";
+"error_already_checked_in_text" = "Yeni bir yere Check-in yapmak için öncelikle Check-out yapmanız gerekir.";
From f5c8e56df532aef2f4c9aab9a147010c75eeba9c Mon Sep 17 00:00:00 2001
From: Marco Zimmermann
Date: Thu, 9 Sep 2021 17:10:56 +0200
Subject: [PATCH 24/27] removes clickable link in terms of use
Signed-off-by: Marco Zimmermann
---
DP3TApp/Resources/Disclaimer/DE_App_Nutzungsbedingungen.html | 2 --
DP3TApp/Resources/Disclaimer/EN_App_Nutzungsbedingungen.html | 2 --
DP3TApp/Resources/Disclaimer/FR_App_Nutzungsbedingungen.html | 2 --
DP3TApp/Resources/Disclaimer/IT_App_Nutzungsbedingungen.html | 2 --
4 files changed, 8 deletions(-)
diff --git a/DP3TApp/Resources/Disclaimer/DE_App_Nutzungsbedingungen.html b/DP3TApp/Resources/Disclaimer/DE_App_Nutzungsbedingungen.html
index dfab428b..c2d501a2 100644
--- a/DP3TApp/Resources/Disclaimer/DE_App_Nutzungsbedingungen.html
+++ b/DP3TApp/Resources/Disclaimer/DE_App_Nutzungsbedingungen.html
@@ -66,9 +66,7 @@
Warnsystem für Veranstaltungen: Die Organisatorin oder der Organisator einer Veranstaltung generiert in seiner App oder über die Internetseite
-
qr.swisscovid.ch
-
einen QR-Code. Besucherinnen und Besucher der Veranstaltung können mit ihrer App den gezeigten QR-Code scannen und sind so an der Veranstaltung eingecheckt.
diff --git a/DP3TApp/Resources/Disclaimer/EN_App_Nutzungsbedingungen.html b/DP3TApp/Resources/Disclaimer/EN_App_Nutzungsbedingungen.html
index 9f1c5b89..f788b23a 100644
--- a/DP3TApp/Resources/Disclaimer/EN_App_Nutzungsbedingungen.html
+++ b/DP3TApp/Resources/Disclaimer/EN_App_Nutzungsbedingungen.html
@@ -66,9 +66,7 @@
Warning system for events: The organiser of an event generates a QR code in their app or on the website
-
qr.swisscovid.ch
-
. People attending the event can use their app to scan the displayed QR code and are thus checked in to the event.
diff --git a/DP3TApp/Resources/Disclaimer/FR_App_Nutzungsbedingungen.html b/DP3TApp/Resources/Disclaimer/FR_App_Nutzungsbedingungen.html
index f0e57dae..3b52f473 100644
--- a/DP3TApp/Resources/Disclaimer/FR_App_Nutzungsbedingungen.html
+++ b/DP3TApp/Resources/Disclaimer/FR_App_Nutzungsbedingungen.html
@@ -76,9 +76,7 @@
Système d’alerte pour les manifestations : l’organisateur d’une manifestation génère un code QR dans son application ou sur le site Internet
-
qr.swisscovid.ch
-
Les visiteurs de la manifestation peuvent scanner le code QR présenté avec leur application et indiquent ainsi avoir participé à la manifestation.
L’application enregistre sur le téléphone portable le code d’identification de la manifestation avec sa date, sa durée et sa description. Depuis le
diff --git a/DP3TApp/Resources/Disclaimer/IT_App_Nutzungsbedingungen.html b/DP3TApp/Resources/Disclaimer/IT_App_Nutzungsbedingungen.html
index 25d5d74b..4e27745e 100644
--- a/DP3TApp/Resources/Disclaimer/IT_App_Nutzungsbedingungen.html
+++ b/DP3TApp/Resources/Disclaimer/IT_App_Nutzungsbedingungen.html
@@ -66,9 +66,7 @@
Sistema di allerta per le manifestazioni: l’organizzatore di una manifestazione genera nella propria app o tramite la pagina Internet
-
qr.swisscovid.ch
-
un codice QR che i visitatori della manifestazione possono scansionare per effettuare il check-in alla manifestazione.
From 2897202d84871a14d75eb68ba57a4b00f7c61c29 Mon Sep 17 00:00:00 2001
From: Marco Zimmermann
Date: Fri, 10 Sep 2021 09:48:26 +0200
Subject: [PATCH 25/27] adds problematic events check on app start
Signed-off-by: Marco Zimmermann
---
DP3TApp/Logic/AppDelegate.swift | 2 ++
.../CheckIn/ProblematicEventsManager.swift | 18 ++++++++++++++++++
2 files changed, 20 insertions(+)
diff --git a/DP3TApp/Logic/AppDelegate.swift b/DP3TApp/Logic/AppDelegate.swift
index 9fa7b9a4..044c42b1 100644
--- a/DP3TApp/Logic/AppDelegate.swift
+++ b/DP3TApp/Logic/AppDelegate.swift
@@ -101,6 +101,8 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
DatabaseSyncer.shared.syncDatabaseIfNeeded()
}
+ ProblematicEventsManager.shared.syncIfNeeded()
+
window?.makeKey()
if TracingManager.shared.isSupported {
window?.rootViewController = navigationController
diff --git a/DP3TApp/Logic/CheckIn/ProblematicEventsManager.swift b/DP3TApp/Logic/CheckIn/ProblematicEventsManager.swift
index 89d2e15c..7258acf3 100644
--- a/DP3TApp/Logic/CheckIn/ProblematicEventsManager.swift
+++ b/DP3TApp/Logic/CheckIn/ProblematicEventsManager.swift
@@ -33,6 +33,9 @@ class ProblematicEventsManager {
@UBOptionalUserDefault(key: "ch.admin.bag.dp3t.exposure.lastKeyBundleTag")
private var lastKeyBundleTag: Int?
+ @UBOptionalUserDefault(key: "ch.admin.bag.dp3t.exposure.lastSync")
+ private var lastSync: Date?
+
@UBUserDefault(key: "ch.admin.bag.dp3t.exposure.notifiedIds", defaultValue: [])
private(set) var notifiedIds: [String]
@@ -55,6 +58,18 @@ class ProblematicEventsManager {
exposureEvents = CrowdNotifier.getExposureEvents()
}
+ public func syncIfNeeded() {
+ var syncNeeded = true
+ if let date = lastSync,
+ Date(timeIntervalSinceNow: -2 * 60 * 60) < date {
+ syncNeeded = false
+ }
+
+ if syncNeeded {
+ sync { _, _ in }
+ }
+ }
+
public func sync(isInBackground: Bool = false, completion: @escaping (_ newData: Bool, _ needsNotification: Bool) -> Void) {
logger.trace()
// Before every sync, check if user has been checked in for more than the maximum time and if so, automatically check out and set the checkout time to the maximum allowed duration
@@ -91,6 +106,9 @@ class ProblematicEventsManager {
UIStateManager.shared.checkInError = nil
strongSelf.lastSyncFailed = error != nil
+ if error == nil {
+ strongSelf.lastSync = Date()
+ }
if let error = error {
UIStateManager.shared.checkInError = CheckInError.networkError(error: .unexpected(error: error))
From 93cb8e10c61f700eecf2b628df3c6d647b988ea6 Mon Sep 17 00:00:00 2001
From: Marco Zimmermann
Date: Fri, 3 Sep 2021 09:29:06 +0200
Subject: [PATCH 26/27] updates version
Signed-off-by: Marco Zimmermann
---
DP3TApp/Supporting Files/Info.plist | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/DP3TApp/Supporting Files/Info.plist b/DP3TApp/Supporting Files/Info.plist
index 38302ce1..a3880ce9 100644
--- a/DP3TApp/Supporting Files/Info.plist
+++ b/DP3TApp/Supporting Files/Info.plist
@@ -24,7 +24,7 @@
CFBundlePackageType
$(PRODUCT_BUNDLE_PACKAGE_TYPE)
CFBundleShortVersionString
- 2.0.0
+ 2.1.0
CFBundleVersion
$(CURRENT_PROJECT_VERSION)
ENAPIVersion
From ca23d9d45a6982d564317a2c3bdf058104ec259f Mon Sep 17 00:00:00 2001
From: Marco Zimmermann
Date: Mon, 6 Sep 2021 07:46:02 +0200
Subject: [PATCH 27/27] updates version of app clip
Signed-off-by: Marco Zimmermann
---
DP3TAppClip/Info.plist | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/DP3TAppClip/Info.plist b/DP3TAppClip/Info.plist
index cc4b122b..6ffe791d 100644
--- a/DP3TAppClip/Info.plist
+++ b/DP3TAppClip/Info.plist
@@ -17,7 +17,7 @@
CFBundlePackageType
$(PRODUCT_BUNDLE_PACKAGE_TYPE)
CFBundleShortVersionString
- 2.0.0
+ 2.1.0
CFBundleVersion
$(CURRENT_PROJECT_VERSION)
LSRequiresIPhoneOS