Skip to content

Instantly share code, notes, and snippets.

@bkastl
Last active February 13, 2022 20:47
Show Gist options
  • Save bkastl/73497420ffb6b01b01d453d361d2ab6b to your computer and use it in GitHub Desktop.
Save bkastl/73497420ffb6b01b01d453d361d2ab6b to your computer and use it in GitHub Desktop.
CCL CWA 2.18 Plain JSON
[
{
"Identifier":"CCL-DE-0001",
"Type":"CCLConfiguration",
"Country":"DE",
"Version":"1.0.0-rc.3",
"SchemaVersion":"1.0.0",
"Engine":"JsonFunctions",
"EngineVersion":"1.0.0",
"ValidFrom":"2022-01-01T00:00:00Z",
"ValidTo":"2030-12-31T00:00:00Z",
"Logic":{
"Treeish":"41943a8",
"JfnDescriptors":[
{
"name":"__analyzeDccWallet",
"definition":{
"parameters":[
{
"name":"os"
},
{
"name":"language"
},
{
"name":"now"
},
{
"name":"certificates"
}
],
"logic":[
{
"declare":[
"allRCs",
{
"call":[
"__filterCertificatesByType",
{
"certificates":{
"var":"certificates"
},
"type":"rc"
}
]
}
]
},
{
"declare":[
"allRelevantRCsAnnotated",
{
"script":[
{
"declare":[
"filtered",
{
"filter":[
{
"var":"certificates"
},
{
"and":[
{
"!!":[
{
"var":"it.hcert.r.0"
}
]
},
{
"in":[
{
"var":"it.validityState"
},
[
"VALID",
"EXPIRING_SOON"
]
]
}
]
},
"it"
]
}
]
},
{
"declare":[
"annotated",
{
"map":[
{
"var":"filtered"
},
{
"script":[
{
"assign":[
"it.__ageInDays",
{
"diffTime":[
{
"var":"now.localDateTime"
},
{
"var":"it.hcert.r.0.fr"
},
"day"
]
}
]
},
{
"assign":[
"it.__isAlreadyValid",
{
">=":[
{
"var":"it.__ageInDays"
},
29
]
}
]
},
{
"assign":[
"it.__isStillValid",
{
"<=":[
{
"var":"it.__ageInDays"
},
90
]
}
]
},
{
"assign":[
"it.__isValid",
{
"and":[
{
"var":"it.__isAlreadyValid"
},
{
"var":"it.__isStillValid"
}
]
}
]
},
{
"return":[
{
"var":"it"
}
]
}
]
},
"it"
]
}
]
},
{
"return":[
{
"var":"annotated"
}
]
}
]
}
]
},
{
"declare":[
"allValidRCs",
{
"filter":[
{
"var":"allRelevantRCsAnnotated"
},
{
"var":"it.__isValid"
},
"it"
]
}
]
},
{
"declare":[
"allRelevantVCsAnnotated",
{
"script":[
{
"declare":[
"filtered",
{
"filter":[
{
"var":"certificates"
},
{
"and":[
{
"!!":[
{
"var":"it.hcert.v.0"
}
]
},
{
"in":[
{
"var":"it.hcert.v.0.mp"
},
[
"EU/1/20/1528",
"EU/1/20/1507",
"EU/1/21/1529",
"EU/1/20/1525",
"EU/1/21/1618"
]
]
},
{
"in":[
{
"var":"it.validityState"
},
[
"VALID",
"EXPIRING_SOON"
]
]
}
]
},
"it"
]
}
]
},
{
"declare":[
"annotated",
{
"map":[
{
"var":"filtered"
},
{
"script":[
{
"assign":[
"it.__ageInDays",
{
"diffTime":[
{
"var":"now.localDate"
},
{
"var":"it.hcert.v.0.dt"
},
"day"
]
}
]
},
{
"assign":[
"it.__isOlderThan14Days",
{
">":[
{
"var":"it.__ageInDays"
},
14
]
}
]
},
{
"assign":[
"it.__isSeriesComplete",
{
">=":[
{
"var":"it.hcert.v.0.dn"
},
{
"var":"it.hcert.v.0.sd"
}
]
}
]
},
{
"assign":[
"it.__isBoosterSelfContained",
{
"or":[
{
"and":[
{
"var":"it.__isSeriesComplete"
},
{
">":[
{
"var":"it.hcert.v.0.dn"
},
2
]
}
]
},
{
">":[
{
"var":"it.hcert.v.0.dn"
},
{
"var":"it.hcert.v.0.sd"
}
]
}
]
}
]
},
{
"assign":[
"it.__isRecoveryVaccinationSelfContained",
{
"and":[
{
"===":[
{
"var":"it.hcert.v.0.dn"
},
1
]
},
{
"===":[
{
"var":"it.hcert.v.0.sd"
},
1
]
},
{
"in":[
{
"var":"it.hcert.v.0.mp"
},
[
"EU/1/20/1528",
"EU/1/20/1507",
"EU/1/21/1529"
]
]
}
]
}
]
},
{
"assign":[
"it.__isFullImmunizationSelfContained",
{
"and":[
{
"var":"it.__isSeriesComplete"
},
{
"or":[
{
"var":"it.__isOlderThan14Days"
},
{
"var":"it.__isBoosterSelfContained"
},
{
"var":"it.__isRecoveryVaccinationSelfContained"
},
{
"and":[
{
">":[
{
"var":"it.hcert.v.0.dn"
},
1
]
},
{
"===":[
{
"var":"it.hcert.v.0.mp"
},
"EU/1/20/1525"
]
}
]
}
]
}
]
}
]
},
{
"assign":[
"it.__hasPreviousRC",
{
"some":[
{
"var":"allRCs"
},
{
"before":[
{
"var":"inner.hcert.r.0.fr"
},
{
"var":"it.hcert.v.0.dt"
}
]
},
"inner"
]
}
]
},
{
"assign":[
"it.__hasPreviousRecoveryVaccination",
{
"some":[
{
"var":"filtered"
},
{
"and":[
{
"===":[
{
"var":"inner.hcert.v.0.dn"
},
{
"var":"inner.hcert.v.0.sd"
}
]
},
{
"===":[
{
"var":"inner.hcert.v.0.dn"
},
1
]
},
{
"before":[
{
"var":"inner.hcert.v.0.dt"
},
{
"var":"it.hcert.v.0.dt"
}
]
}
]
},
"inner"
]
}
]
},
{
"assign":[
"it.__isFullImmunization",
{
"and":[
{
"var":"it.__isSeriesComplete"
},
{
"or":[
{
"var":"it.__isOlderThan14Days"
},
{
"var":"it.__isBoosterSelfContained"
},
{
"var":"it.__isRecoveryVaccinationSelfContained"
},
{
"var":"it.__hasPreviousRC"
},
{
"var":"it.__hasPreviousRecoveryVaccination"
}
]
}
]
}
]
},
{
"assign":[
"it.__offsetInDays",
{
"if":[
{
"or":[
{
"var":"it.__isBoosterSelfContained"
},
{
"var":"it.__isRecoveryVaccinationSelfContained"
},
{
"var":"it.__hasPreviousRC"
},
{
"var":"it.__hasPreviousRecoveryVaccination"
}
]
},
0,
15
]
}
]
},
{
"if":[
{
"var":"it.__isSeriesComplete"
},
{
"assign":[
"it.__fullImmunizationDate",
{
"plusTime":[
{
"var":"it.hcert.v.0.dt"
},
{
"var":"it.__offsetInDays"
},
"day"
]
}
]
}
]
},
{
"return":[
{
"var":"it"
}
]
}
]
},
"it"
]
}
]
},
{
"return":[
{
"var":"annotated"
}
]
}
]
}
]
},
{
"declare":[
"allVCs",
{
"call":[
"__filterCertificatesByType",
{
"certificates":{
"var":"certificates"
},
"type":"vc"
}
]
}
]
},
{
"declare":[
"allVCsWithFullImmunization",
{
"script":[
{
"declare":[
"filtered",
{
"filter":[
{
"var":"allRelevantVCsAnnotated"
},
{
"var":"it.__isFullImmunization"
},
"it"
]
}
]
},
{
"declare":[
"sorted",
{
"call":[
"__sortVaccinationCertificatesByDate",
{
"certificates":{
"var":"filtered"
},
"ascending":false
}
]
}
]
},
{
"return":[
{
"var":"sorted"
}
]
}
]
}
]
},
{
"declare":[
"allVCsWithFullImmunizationSelfContained",
{
"script":[
{
"declare":[
"filtered",
{
"filter":[
{
"var":"allRelevantVCsAnnotated"
},
{
"var":"it.__isFullImmunizationSelfContained"
},
"it"
]
}
]
},
{
"declare":[
"sorted",
{
"call":[
"__sortVaccinationCertificatesByDate",
{
"certificates":{
"var":"filtered"
},
"ascending":false
}
]
}
]
},
{
"return":[
{
"var":"sorted"
}
]
}
]
}
]
},
{
"declare":[
"allBoosterVCs",
{
"filter":[
{
"var":"allRelevantVCsAnnotated"
},
{
"var":"it.__isBoosterSelfContained"
},
"it"
]
}
]
},
{
"declare":[
"allBoosterRCs",
{
"filter":[
{
"var":"allRelevantRCsAnnotated"
},
{
"and":[
{
"var":"it.__isValid"
},
{
"some":[
{
"var":"allVCsWithFullImmunization"
},
{
"before":[
{
"var":"inner.hcert.v.0.dt"
},
{
"var":"it.hcert.r.0.fr"
}
]
},
"inner"
]
}
]
},
"it"
]
}
]
},
{
"declare":[
"allTCs",
{
"call":[
"__filterCertificatesByType",
{
"certificates":{
"var":"certificates"
},
"type":"tc"
}
]
}
]
},
{
"declare":[
"allTCsWithValidPCR",
{
"script":[
{
"declare":[
"filtered",
{
"filter":[
{
"var":"allTCs"
},
{
"and":[
{
"===":[
{
"var":"it.hcert.t.0.tt"
},
"LP6464-4"
]
},
{
"===":[
{
"var":"it.hcert.t.0.tr"
},
"260415000"
]
},
{
"not-after":[
{
"var":"now.utcDateTime"
},
{
"plusTime":[
{
"var":"it.hcert.t.0.sc"
},
72,
"hour"
]
}
]
},
{
"in":[
{
"var":"it.validityState"
},
[
"VALID",
"EXPIRING_SOON"
]
]
}
]
},
"it"
]
}
]
},
{
"declare":[
"sorted",
{
"call":[
"__sortTestCertificatesByDate",
{
"certificates":{
"var":"filtered"
},
"ascending":false
}
]
}
]
},
{
"return":[
{
"var":"sorted"
}
]
}
]
}
]
},
{
"declare":[
"allTCsWithValidRAT",
{
"script":[
{
"declare":[
"filtered",
{
"filter":[
{
"var":"allTCs"
},
{
"and":[
{
"===":[
{
"var":"it.hcert.t.0.tt"
},
"LP217198-3"
]
},
{
"===":[
{
"var":"it.hcert.t.0.tr"
},
"260415000"
]
},
{
"not-after":[
{
"var":"now.utcDateTime"
},
{
"plusTime":[
{
"var":"it.hcert.t.0.sc"
},
48,
"hour"
]
}
]
},
{
"in":[
{
"var":"it.validityState"
},
[
"VALID",
"EXPIRING_SOON"
]
]
}
]
},
"it"
]
}
]
},
{
"declare":[
"sorted",
{
"call":[
"__sortTestCertificatesByDate",
{
"certificates":{
"var":"filtered"
},
"ascending":false
}
]
}
]
},
{
"return":[
{
"var":"sorted"
}
]
}
]
}
]
},
{
"declare":[
"allVCsAndRCsWithFullImmunization",
{
"script":[
{
"declare":[
"merged",
{
"merge":[
{
"var":"allVCsWithFullImmunization"
},
{
"var":"allValidRCs"
}
]
}
]
},
{
"declare":[
"sorted",
{
"call":[
"__sortCertificatesByDate",
{
"certificates":{
"var":"merged"
},
"ascending":false
}
]
}
]
},
{
"return":[
{
"var":"sorted"
}
]
}
]
}
]
},
{
"declare":[
"allVCsAndRCsWithFullImmunizationSelfContained",
{
"script":[
{
"declare":[
"merged",
{
"merge":[
{
"var":"allVCsWithFullImmunizationSelfContained"
},
{
"var":"allValidRCs"
}
]
}
]
},
{
"declare":[
"sorted",
{
"call":[
"__sortCertificatesByDate",
{
"certificates":{
"var":"merged"
},
"ascending":false
}
]
}
]
},
{
"return":[
{
"var":"sorted"
}
]
}
]
}
]
},
{
"declare":[
"hasBooster",
{
"or":[
{
"!!":[
{
"var":"allBoosterVCs"
}
]
},
{
"!!":[
{
"var":"allBoosterRCs"
}
]
}
]
}
]
},
{
"declare":[
"has2G",
{
"!!":[
{
"var":"allVCsAndRCsWithFullImmunization"
}
]
}
]
},
{
"declare":[
"hasPCR",
{
"!!":[
{
"var":"allTCsWithValidPCR"
}
]
}
]
},
{
"declare":[
"hasRAT",
{
"!!":[
{
"var":"allTCsWithValidRAT"
}
]
}
]
},
{
"declare":[
"admissionState",
{
"if":[
{
"and":[
{
"var":"has2G"
},
{
"var":"hasBooster"
},
{
"var":"hasPCR"
}
]
},
"1G_PLUS_PCR",
{
"and":[
{
"var":"has2G"
},
{
"var":"hasBooster"
},
{
"var":"hasRAT"
}
]
},
"1G_PLUS_RAT",
{
"and":[
{
"var":"has2G"
},
{
"var":"hasBooster"
}
]
},
"1G",
{
"and":[
{
"var":"has2G"
},
{
"var":"hasPCR"
}
]
},
"2G_PLUS_PCR",
{
"and":[
{
"var":"has2G"
},
{
"!":[
{
"var":"hasPCR"
}
]
},
{
"var":"hasRAT"
}
]
},
"2G_PLUS_RAT",
{
"and":[
{
"var":"has2G"
},
{
"!":[
{
"var":"hasPCR"
}
]
},
{
"!":[
{
"var":"hasRAT"
}
]
}
]
},
"2G",
{
"and":[
{
"!":[
{
"var":"has2G"
}
]
},
{
"var":"hasPCR"
}
]
},
"3G_WITH_PCR",
{
"and":[
{
"!":[
{
"var":"has2G"
}
]
},
{
"!":[
{
"var":"hasPCR"
}
]
},
{
"var":"hasRAT"
}
]
},
"3G_WITH_RAT",
"OTHER"
]
}
]
},
{
"declare":[
"mostRelevantCertificate",
{
"if":[
{
"!!":[
{
"var":"allVCsAndRCsWithFullImmunizationSelfContained"
}
]
},
{
"var":"allVCsAndRCsWithFullImmunizationSelfContained.0"
},
{
"!!":[
{
"var":"allTCsWithValidPCR"
}
]
},
{
"var":"allTCsWithValidPCR.0"
},
{
"!!":[
{
"var":"allTCsWithValidRAT"
}
]
},
{
"var":"allTCsWithValidRAT.0"
},
{
"!!":[
{
"var":"allRelevantVCsAnnotated"
}
]
},
{
"script":[
{
"declare":[
"sorted",
{
"call":[
"__sortCertificatesByDate",
{
"certificates":{
"var":"allRelevantVCsAnnotated"
},
"ascending":false
}
]
}
]
},
{
"return":[
{
"var":"sorted.0"
}
]
}
]
},
{
"!!":[
{
"var":"allRCs"
}
]
},
{
"script":[
{
"declare":[
"sorted",
{
"call":[
"__sortCertificatesByDate",
{
"certificates":{
"var":"allRCs"
},
"ascending":false
}
]
}
]
},
{
"return":[
{
"var":"sorted.0"
}
]
}
]
},
{
"script":[
{
"declare":[
"sorted",
{
"call":[
"__sortCertificatesByDate",
{
"certificates":{
"var":"certificates"
},
"ascending":false
}
]
}
]
},
{
"return":[
{
"var":"sorted.0"
}
]
}
]
}
]
}
]
},
{
"declare":[
"mostRecentVaccinationCertificate",
{
"script":[
{
"declare":[
"sorted",
{
"call":[
"__sortVaccinationCertificatesByDate",
{
"certificates":{
"var":"allRelevantVCsAnnotated"
},
"ascending":false
}
]
}
]
},
{
"return":[
{
"var":"sorted.0"
}
]
}
]
}
]
},
{
"declare":[
"earliestCompleteVC",
{
"script":[
{
"declare":[
"filtered",
{
"filter":[
{
"var":"allRelevantVCsAnnotated"
},
{
"!!":[
{
"var":"it.__fullImmunizationDate"
}
]
},
"it"
]
}
]
},
{
"declare":[
"sorted",
{
"call":[
"__sortVaccinationCertificatesByDate",
{
"certificates":{
"var":"filtered"
},
"ascending":true
}
]
}
]
},
{
"return":[
{
"var":"sorted.0"
}
]
}
]
}
]
},
{
"declare":[
"verificationCertificates",
{
"init":[
"array",
{
"var":"mostRelevantCertificate"
}
]
}
]
},
{
"if":[
{
"in":[
{
"var":"admissionState"
},
[
"1G_PLUS_PCR",
"2G_PLUS_PCR"
]
]
},
{
"assign":[
"verificationCertificates",
{
"push":[
{
"var":"verificationCertificates"
},
{
"var":"allTCsWithValidPCR.0"
}
]
}
]
}
]
},
{
"if":[
{
"in":[
{
"var":"admissionState"
},
[
"1G_PLUS_RAT",
"2G_PLUS_RAT"
]
]
},
{
"assign":[
"verificationCertificates",
{
"push":[
{
"var":"verificationCertificates"
},
{
"var":"allTCsWithValidRAT.0"
}
]
}
]
}
]
},
{
"declare":[
"vaccinationState",
{
"if":[
{
"find":[
{
"var":"allRelevantVCsAnnotated"
},
{
"!!":[
{
"var":"it.__isFullImmunization"
}
]
},
"it"
]
},
"COMPLETE_IMMUNIZATION",
{
"find":[
{
"var":"allRelevantVCsAnnotated"
},
{
"after":[
{
"var":"it.__fullImmunizationDate"
},
{
"var":"now.localDateTime"
}
]
},
"it"
]
},
"COMPLETE_IMMUNIZATION_PENDING",
{
"find":[
{
"var":"allRelevantVCsAnnotated"
},
{
"!":[
{
"var":"it.__isSeriesComplete"
}
]
},
"it"
]
},
"PARTIAL_IMMUNIZATION",
"OTHER"
]
}
]
},
{
"return":[
{
"init":[
"object",
"allRelevantVCsAnnotated",
{
"var":"allRelevantVCsAnnotated"
},
"allRelevantRCsAnnotated",
{
"var":"allRelevantRCsAnnotated"
},
"mostRecentVaccinationCertificate",
{
"var":"mostRecentVaccinationCertificate"
},
"verificationCertificates",
{
"var":"verificationCertificates"
},
"hasBooster",
{
"var":"hasBooster"
},
"admissionState",
{
"var":"admissionState"
},
"vaccinationState",
{
"var":"vaccinationState"
},
"vaccinationValidFrom",
{
"var":"earliestCompleteVC.__fullImmunizationDate"
},
"mostRelevantCertificate",
{
"var":"mostRelevantCertificate"
},
"mostRecentVaccination",
{
"var":"mostRecentVaccinationCertificate"
}
]
}
]
}
]
}
},
{
"name":"__evaluateBoosterNotificationRules",
"definition":{
"parameters":[
{
"name":"vc"
},
{
"name":"rc"
},
{
"name":"boosterNotificationRules"
},
{
"name":"validationClock"
}
],
"logic":[
{
"if":[
{
"!":[
{
"var":"vc"
}
]
},
{
"return":[
null
]
}
]
},
{
"declare":[
"payload",
{
"var":"vc.hcert"
}
]
},
{
"if":[
{
"var":"rc"
},
{
"assign":[
"payload.r",
{
"var":"rc.hcert.r"
}
]
}
]
},
{
"declare":[
"external",
{
"init":[
"object",
"validationClock",
{
"var":"validationClock"
}
]
}
]
},
{
"declare":[
"parameters",
{
"init":[
"object",
"payload",
{
"var":"payload"
},
"external",
{
"var":"external"
}
]
}
]
},
{
"declare":[
"firstMatch",
{
"find":[
{
"var":"boosterNotificationRules"
},
{
"evaluate":[
{
"var":"it.Logic"
},
{
"var":"parameters"
}
]
},
"it"
]
}
]
},
{
"if":[
{
"var":"firstMatch"
},
{
"assign":[
"firstMatch.DescriptionByLang",
{
"reduce":[
{
"var":"firstMatch.Description"
},
{
"script":[
{
"assign":[
{
"concatenate":[
"accumulator.",
{
"var":"current.lang"
}
]
},
{
"var":"current.desc"
}
]
},
{
"return":[
{
"var":"accumulator"
}
]
}
]
},
{
"init":[
"object"
]
}
]
}
]
}
]
},
{
"return":[
{
"var":"firstMatch"
}
]
}
]
}
},
{
"name":"__filterCertificatesByType",
"definition":{
"parameters":[
{
"name":"certificates"
},
{
"name":"type"
}
],
"logic":[
{
"declare":[
"filtered",
{
"if":[
{
"===":[
{
"var":"type"
},
"vc"
]
},
{
"filter":[
{
"var":"certificates"
},
{
"!!":[
{
"var":"it.hcert.v.0"
}
]
},
"it"
]
},
{
"===":[
{
"var":"type"
},
"rc"
]
},
{
"filter":[
{
"var":"certificates"
},
{
"!!":[
{
"var":"it.hcert.r.0"
}
]
},
"it"
]
},
{
"===":[
{
"var":"type"
},
"tc"
]
},
{
"filter":[
{
"var":"certificates"
},
{
"!!":[
{
"var":"it.hcert.t.0"
}
]
},
"it"
]
},
null
]
}
]
},
{
"return":[
{
"var":"filtered"
}
]
}
]
}
},
{
"name":"__i18n.getQuantityDescriptor",
"definition":{
"parameters":[
{
"name":"key"
},
{
"name":"quantity"
},
{
"name":"quantityParameterIndex",
"default":-1
},
{
"name":"parameters",
"default":[
]
}
],
"logic":[
{
"declare":[
"textBundle",
{
"call":[
"__i18n.getTextBundle"
]
}
]
},
{
"declare":[
"descriptor",
{
"find":[
{
"var":"textBundle"
},
{
"===":[
{
"var":"it.name"
},
{
"var":"key"
}
]
},
"it"
]
}
]
},
{
"declare":[
"quantityAttribute",
{
"if":[
{
">=":[
{
"var":"quantityParameterIndex"
},
0
]
},
"quantityParameterIndex",
"quantity"
]
}
]
},
{
"declare":[
"quantityAttributeValue",
{
"if":[
{
">=":[
{
"var":"quantityParameterIndex"
},
0
]
},
{
"var":"quantityParameterIndex"
},
{
"var":"quantity"
}
]
}
]
},
{
"return":[
{
"init":[
"object",
"type",
{
"var":"descriptor.type"
},
{
"var":"quantityAttribute"
},
{
"var":"quantityAttributeValue"
},
"localizedText",
{
"var":"descriptor.localizedText"
},
"parameters",
{
"var":"parameters"
}
]
}
]
}
]
}
},
{
"name":"__i18n.getTextDescriptor",
"definition":{
"parameters":[
{
"name":"key"
},
{
"name":"parameters",
"default":[
]
}
],
"logic":[
{
"declare":[
"textBundle",
{
"call":[
"__i18n.getTextBundle"
]
}
]
},
{
"declare":[
"descriptor",
{
"find":[
{
"var":"textBundle"
},
{
"===":[
{
"var":"it.name"
},
{
"var":"key"
}
]
},
"it"
]
}
]
},
{
"return":[
{
"init":[
"object",
"type",
{
"var":"descriptor.type"
},
"localizedText",
{
"var":"descriptor.localizedText"
},
"parameters",
{
"var":"parameters"
}
]
}
]
}
]
}
},
{
"name":"__i18n.getTextBundle",
"definition":{
"parameters":[
],
"logic":[
{
"return":[
[
{
"name":"ADMISSION_STATE_1G_BADGE_TEXT",
"type":"string",
"localizedText":{
"bg":"1G",
"de":"1G",
"en":"1G",
"pl":"1G",
"ro":"1G",
"tr":"1G"
}
},
{
"name":"ADMISSION_STATE_1G_LONG_TEXT",
"type":"string",
"localizedText":{
"bg":"\u0412\u0430\u0448\u0438\u0442\u0435 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0438 \u043e\u0442\u0433\u043e\u0432\u0430\u0440\u044f\u0442 \u043d\u0430 1G \u043f\u0440\u0430\u0432\u0438\u043b\u043e\u0442\u043e. \u0410\u043a\u043e \u0412\u0438 \u0441\u0435 \u043d\u0430\u043b\u0430\u0433\u0430 \u0434\u0430 \u0434\u043e\u043a\u0430\u0437\u0432\u0430\u0442\u0435 \u0441\u0432\u043e\u044f \u0442\u0435\u043a\u0443\u0449 \u0441\u0442\u0430\u0442\u0443\u0441 \u0437\u0430\u0442\u0432\u043e\u0440\u0435\u0442\u0435 \u0442\u043e\u0437\u0438 \u0438\u0437\u0433\u043b\u0435\u0434 \u0438 \u043f\u043e\u043a\u0430\u0436\u0435\u0442\u0435 QR \u043a\u043e\u0434\u0430 \u0432 \u201c\u041f\u0440\u0435\u0433\u043b\u0435\u0434 \u043d\u0430 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0438\u201d.",
"de":"Ihre Zertifikate erf\u00fcllen die 1G-Regel. Wenn Sie Ihren aktuellen Status vorweisen m\u00fcssen, schlie\u00dfen Sie diese Ansicht und zeigen Sie den QR-Code auf der Zertifikats\u00fcbersicht.",
"en":"Your certificates satisfy the 1G rule. If you need to prove your current status, close this view and show the QR code in the certificate overview.",
"pl":"Twoje certyfikaty s\u0105 zgodne z zasad\u0105 1G. Je\u015bli musisz udowodni\u0107 sw\u00f3j aktualny status, zamknij ten widok i poka\u017c kod QR w przegl\u0105dzie certyfikat\u00f3w.",
"ro":"Certificatele dvs. respect\u0103 regula 1G. Dac\u0103 trebuie s\u0103 dovedi\u021bi starea dvs. curent\u0103, \u00eenchide\u021bi aceast\u0103 vizualizare \u0219i afi\u0219a\u021bi codul QR \u00een sumarul certificatului.",
"tr":"Sertifikalar\u0131n\u0131z 1G kural\u0131na uygun. G\u00fcncel durumunuzu kan\u0131tlaman\u0131z gerekiyorsa bu g\u00f6r\u00fcn\u00fcm\u00fcn\u00fc kapat\u0131n ve sertifikaya genel bak\u0131\u015f b\u00f6l\u00fcm\u00fcndeki QR kodu g\u00f6sterin."
}
},
{
"name":"ADMISSION_STATE_1G_PLUS_PCR_BADGE_TEXT",
"type":"string",
"localizedText":{
"bg":"1G+",
"de":"1G+",
"en":"1G+",
"pl":"1G+",
"ro":"1G+",
"tr":"1G+"
}
},
{
"name":"ADMISSION_STATE_1G_PLUS_PCR_LONG_TEXT",
"type":"string",
"localizedText":{
"bg":"\u0412\u0430\u0448\u0438\u0442\u0435 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0438 \u043e\u0442\u0433\u043e\u0432\u0430\u0440\u044f\u0442 \u043d\u0430 1G plus \u043f\u0440\u0430\u0432\u0438\u043b\u043e\u0442\u043e. \u0410\u043a\u043e \u0412\u0438 \u0441\u0435 \u043d\u0430\u043b\u0430\u0433\u0430 \u0434\u0430 \u0434\u043e\u043a\u0430\u0437\u0432\u0430\u0442\u0435 \u0441\u0432\u043e\u044f \u0442\u0435\u043a\u0443\u0449 \u0441\u0442\u0430\u0442\u0443\u0441 \u0437\u0430\u0442\u0432\u043e\u0440\u0435\u0442\u0435 \u0442\u043e\u0437\u0438 \u0438\u0437\u0433\u043b\u0435\u0434 \u0438 \u043f\u043e\u043a\u0430\u0436\u0435\u0442\u0435 QR \u043a\u043e\u0434\u0430 \u0432 \u201c\u041f\u0440\u0435\u0433\u043b\u0435\u0434 \u043d\u0430 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0438\u201d.",
"de":"Ihre Zertifikate erf\u00fcllen die 1G-Plus-Regel. Wenn Sie Ihren aktuellen Status vorweisen m\u00fcssen, schlie\u00dfen Sie diese Ansicht und zeigen Sie den QR-Code auf der Zertifikats\u00fcbersicht.",
"en":"Your certificates satisfy the 1G plus rule. If you need to prove your current status, close this view and show the QR code in the certificate overview.",
"pl":"Twoje certyfikaty s\u0105 zgodne z zasad\u0105 1G plus. Je\u015bli musisz udowodni\u0107 sw\u00f3j aktualny status, zamknij ten widok i poka\u017c kod QR w przegl\u0105dzie certyfikat\u00f3w.",
"ro":"Certificatele dvs. respect\u0103 regula 1G plus. Dac\u0103 trebuie s\u0103 dovedi\u021bi starea dvs. curent\u0103, \u00eenchide\u021bi aceast\u0103 vizualizare \u0219i afi\u0219a\u021bi codul QR \u00een sumarul certificatului.",
"tr":"Sertifikalar\u0131n\u0131z 1G plus kural\u0131na uygun. G\u00fcncel durumunuzu kan\u0131tlaman\u0131z gerekiyorsa bu g\u00f6r\u00fcn\u00fcm\u00fcn\u00fc kapat\u0131n ve sertifikaya genel bak\u0131\u015f b\u00f6l\u00fcm\u00fcndeki QR kodu g\u00f6sterin."
}
},
{
"name":"ADMISSION_STATE_1G_PLUS_PCR_SUBTITLE_TEXT",
"type":"string",
"localizedText":{
"bg":"1G+ PCR \u0442\u0435\u0441\u0442",
"de":"1G+ PCR-Test",
"en":"1G+ PCR test",
"pl":"1G+ test PCR",
"ro":"1G+ test PCR",
"tr":"1G+ PCR testi"
}
},
{
"name":"ADMISSION_STATE_1G_PLUS_RAT_BADGE_TEXT",
"type":"string",
"localizedText":{
"bg":"1G+",
"de":"1G+",
"en":"1G+",
"pl":"1G+",
"ro":"1G+",
"tr":"1G+"
}
},
{
"name":"ADMISSION_STATE_1G_PLUS_RAT_LONG_TEXT",
"type":"string",
"localizedText":{
"bg":"\u0412\u0430\u0448\u0438\u0442\u0435 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0438 \u043e\u0442\u0433\u043e\u0432\u0430\u0440\u044f\u0442 \u043d\u0430 1G plus \u043f\u0440\u0430\u0432\u0438\u043b\u043e\u0442\u043e, \u043e\u0441\u0432\u0435\u043d \u0430\u043a\u043e \u043d\u0435 \u0412\u0438 \u0441\u0435 \u0438\u0437\u0438\u0441\u043a\u0432\u0430 PCR \u0442\u0435\u0441\u0442. \u0410\u043a\u043e \u0412\u0438 \u0441\u0435 \u043d\u0430\u043b\u0430\u0433\u0430 \u0434\u0430 \u0434\u043e\u043a\u0430\u0437\u0432\u0430\u0442\u0435 \u0441\u0432\u043e\u044f \u0442\u0435\u043a\u0443\u0449 \u0441\u0442\u0430\u0442\u0443\u0441 \u0437\u0430\u0442\u0432\u043e\u0440\u0435\u0442\u0435 \u0442\u043e\u0437\u0438 \u0438\u0437\u0433\u043b\u0435\u0434 \u0438 \u043f\u043e\u043a\u0430\u0436\u0435\u0442\u0435 QR \u043a\u043e\u0434\u0430 \u0432 \u201c\u041f\u0440\u0435\u0433\u043b\u0435\u0434 \u043d\u0430 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0438\u201d.",
"de":"Ihre Zertifikate erf\u00fcllen die 1G-Plus-Regel, es sei denn, es wird ein PCR-Test ben\u00f6tigt. Wenn Sie Ihren aktuellen Status vorweisen m\u00fcssen, schlie\u00dfen Sie diese Ansicht und zeigen Sie den QR-Code auf der Zertifikats\u00fcbersicht.",
"en":"Your certificates satisfy the 1G plus rule, unless a PCR test is required. If you need to prove your current status, close this view and show the QR code in the certificate overview.",
"pl":"Twoje certyfikaty s\u0105 zgodne z zasad\u0105 1G plus, o ile nie jest wymagany test PCR. Je\u015bli musisz udowodni\u0107 sw\u00f3j aktualny status, zamknij ten widok i wy\u015bwietl kod QR w przegl\u0105dzie certyfikat\u00f3w.",
"ro":"Certificatele dvs. respect\u0103 regula 1G plus, cu excep\u021bia cazului \u00een care este necesar un test PCR. Dac\u0103 trebuie s\u0103 dovedi\u021bi starea dvs. curent\u0103, \u00eenchide\u021bi aceast\u0103 vizualizare \u0219i afi\u0219a\u021bi codul QR \u00een sumarul certificatului.",
"tr":"PCR testi gerekmiyorsa sertifikalar\u0131n\u0131z 1G plus kural\u0131na uygun. G\u00fcncel durumunuzu kan\u0131tlaman\u0131z gerekiyorsa bu g\u00f6r\u00fcn\u00fcm\u00fcn\u00fc kapat\u0131n ve sertifikaya genel bak\u0131\u015f b\u00f6l\u00fcm\u00fcndeki QR kodu g\u00f6sterin."
}
},
{
"name":"ADMISSION_STATE_1G_PLUS_RAT_SUBTITLE_TEXT",
"type":"string",
"localizedText":{
"bg":"1G+ \u0431\u044a\u0440\u0437 \u0442\u0435\u0441\u0442",
"de":"1G+ Schnelltest",
"en":"1G+ rapid test",
"pl":"1G+ szybki test",
"ro":"1G+ test rapid",
"tr":"1G+ h\u0131zl\u0131 testi"
}
},
{
"name":"ADMISSION_STATE_1G_SUBTITLE_TEXT",
"type":"string",
"localizedText":{
"bg":"1G",
"de":"1G",
"en":"1G",
"pl":"1G",
"ro":"1G",
"tr":"1G"
}
},
{
"name":"ADMISSION_STATE_2G_BADGE_TEXT",
"type":"string",
"localizedText":{
"bg":"2G",
"de":"2G",
"en":"2G",
"pl":"2G",
"ro":"2G",
"tr":"2G"
}
},
{
"name":"ADMISSION_STATE_2G_LONG_TEXT",
"type":"string",
"localizedText":{
"bg":"\u0412\u0430\u0448\u0438\u0442\u0435 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0438 \u043e\u0442\u0433\u043e\u0432\u0430\u0440\u044f\u0442 \u043d\u0430 2G \u043f\u0440\u0430\u0432\u0438\u043b\u043e\u0442\u043e. \u0410\u043a\u043e \u0412\u0438 \u0441\u0435 \u043d\u0430\u043b\u0430\u0433\u0430 \u0434\u0430 \u0434\u043e\u043a\u0430\u0437\u0432\u0430\u0442\u0435 \u0441\u0432\u043e\u044f \u0442\u0435\u043a\u0443\u0449 \u0441\u0442\u0430\u0442\u0443\u0441 \u0437\u0430\u0442\u0432\u043e\u0440\u0435\u0442\u0435 \u0442\u043e\u0437\u0438 \u0438\u0437\u0433\u043b\u0435\u0434 \u0438 \u043f\u043e\u043a\u0430\u0436\u0435\u0442\u0435 QR \u043a\u043e\u0434\u0430 \u0432 \u201c\u041f\u0440\u0435\u0433\u043b\u0435\u0434 \u043d\u0430 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0438\u201d.",
"de":"Ihre Zertifikate erf\u00fcllen die 2G-Regel. Wenn Sie Ihren aktuellen Status vorweisen m\u00fcssen, schlie\u00dfen Sie diese Ansicht und zeigen Sie den QR-Code auf der Zertifikats\u00fcbersicht.",
"en":"Your certificates satisfy the 2G rule. If you need to prove your current status, close this view and show the QR code in the certificate overview.",
"pl":"Twoje certyfikaty s\u0105 zgodne z zasad\u0105 2G. Je\u015bli musisz udowodni\u0107 sw\u00f3j aktualny status, zamknij ten widok i wy\u015bwietl kod QR w przegl\u0105dzie certyfikat\u00f3w.",
"ro":"Certificatele dvs. respect\u0103 regula 2G. Dac\u0103 trebuie s\u0103 dovedi\u021bi starea dvs. curent\u0103, \u00eenchide\u021bi aceast\u0103 vizualizare \u0219i afi\u0219a\u021bi codul QR \u00een sumarul certificatului.",
"tr":"Sertifikalar\u0131n\u0131z 2G kural\u0131na uygun. G\u00fcncel durumunuzu kan\u0131tlaman\u0131z gerekiyorsa bu g\u00f6r\u00fcn\u00fcm\u00fcn\u00fc kapat\u0131n ve sertifikaya genel bak\u0131\u015f b\u00f6l\u00fcm\u00fcndeki QR kodu g\u00f6sterin."
}
},
{
"name":"ADMISSION_STATE_2G_PLUS_PCR_BADGE_TEXT",
"type":"string",
"localizedText":{
"bg":"2G+",
"de":"2G+",
"en":"2G+",
"pl":"2G+",
"ro":"2G+",
"tr":"2G+"
}
},
{
"name":"ADMISSION_STATE_2G_PLUS_PCR_LONG_TEXT",
"type":"string",
"localizedText":{
"bg":"\u0412\u0430\u0448\u0438\u0442\u0435 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0438 \u043e\u0442\u0433\u043e\u0432\u0430\u0440\u044f\u0442 \u043d\u0430 2G plus \u043f\u0440\u0430\u0432\u0438\u043b\u043e\u0442\u043e. \u0410\u043a\u043e \u0412\u0438 \u0441\u0435 \u043d\u0430\u043b\u0430\u0433\u0430 \u0434\u0430 \u0434\u043e\u043a\u0430\u0437\u0432\u0430\u0442\u0435 \u0441\u0432\u043e\u044f \u0442\u0435\u043a\u0443\u0449 \u0441\u0442\u0430\u0442\u0443\u0441 \u0437\u0430\u0442\u0432\u043e\u0440\u0435\u0442\u0435 \u0442\u043e\u0437\u0438 \u0438\u0437\u0433\u043b\u0435\u0434 \u0438 \u043f\u043e\u043a\u0430\u0436\u0435\u0442\u0435 QR \u043a\u043e\u0434\u0430 \u0432 \u201c\u041f\u0440\u0435\u0433\u043b\u0435\u0434 \u043d\u0430 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0438\u201d.",
"de":"Ihre Zertifikate erf\u00fcllen die 2G-Plus-Regel. Wenn Sie Ihren aktuellen Status vorweisen m\u00fcssen, schlie\u00dfen Sie diese Ansicht und zeigen Sie den QR-Code auf der Zertifikats\u00fcbersicht.",
"en":"Your certificates satisfy the 2G plus rule. If you need to prove your current status, close this view and show the QR code in the certificate overview.",
"pl":"Twoje certyfikaty s\u0105 zgodne z zasad\u0105 2G plus. Je\u015bli musisz udowodni\u0107 sw\u00f3j aktualny status, zamknij ten widok i wy\u015bwietl kod QR w przegl\u0105dzie certyfikat\u00f3w.",
"ro":"Certificatele dvs. respect\u0103 regula 2G plus. Dac\u0103 trebuie s\u0103 dovedi\u021bi starea dvs. curent\u0103, \u00eenchide\u021bi aceast\u0103 vizualizare \u0219i afi\u0219a\u021bi codul QR \u00een sumarul certificatului.",
"tr":"Sertifikalar\u0131n\u0131z 2G plus kural\u0131na uygun. G\u00fcncel durumunuzu kan\u0131tlaman\u0131z gerekiyorsa bu g\u00f6r\u00fcn\u00fcm\u00fcn\u00fc kapat\u0131n ve sertifikaya genel bak\u0131\u015f b\u00f6l\u00fcm\u00fcndeki QR kodu g\u00f6sterin."
}
},
{
"name":"ADMISSION_STATE_2G_PLUS_PCR_SUBTITLE_TEXT",
"type":"string",
"localizedText":{
"bg":"2G+ PCR \u0442\u0435\u0441\u0442",
"de":"2G+ PCR-Test",
"en":"2G+ PCR test",
"pl":"2G+ test PCR",
"ro":"2G+ test PCR",
"tr":"2G+ PCR testi"
}
},
{
"name":"ADMISSION_STATE_2G_PLUS_RAT_BADGE_TEXT",
"type":"string",
"localizedText":{
"bg":"2G+",
"de":"2G+",
"en":"2G+",
"pl":"2G+",
"ro":"2G+",
"tr":"2G+"
}
},
{
"name":"ADMISSION_STATE_2G_PLUS_RAT_LONG_TEXT",
"type":"string",
"localizedText":{
"bg":"\u0412\u0430\u0448\u0438\u0442\u0435 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0438 \u043e\u0442\u0433\u043e\u0432\u0430\u0440\u044f\u0442 \u043d\u0430 2G plus \u043f\u0440\u0430\u0432\u0438\u043b\u043e\u0442\u043e, \u043e\u0441\u0432\u0435\u043d \u0430\u043a\u043e \u043d\u0435 \u0412\u0438 \u0441\u0435 \u0438\u0437\u0438\u0441\u043a\u0432\u0430 PCR \u0442\u0435\u0441\u0442. \u0410\u043a\u043e \u0412\u0438 \u0441\u0435 \u043d\u0430\u043b\u0430\u0433\u0430 \u0434\u0430 \u0434\u043e\u043a\u0430\u0437\u0432\u0430\u0442\u0435 \u0441\u0432\u043e\u044f \u0442\u0435\u043a\u0443\u0449 \u0441\u0442\u0430\u0442\u0443\u0441 \u0437\u0430\u0442\u0432\u043e\u0440\u0435\u0442\u0435 \u0442\u043e\u0437\u0438 \u0438\u0437\u0433\u043b\u0435\u0434 \u0438 \u043f\u043e\u043a\u0430\u0436\u0435\u0442\u0435 QR \u043a\u043e\u0434\u0430 \u0432 \u201c\u041f\u0440\u0435\u0433\u043b\u0435\u0434 \u043d\u0430 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0438\u201d.",
"de":"Ihre Zertifikate erf\u00fcllen die 2G-Plus-Regel, es sei denn, es wird ein PCR-Test ben\u00f6tigt. Wenn Sie Ihren aktuellen Status vorweisen m\u00fcssen, schlie\u00dfen Sie diese Ansicht und zeigen Sie den QR-Code auf der Zertifikats\u00fcbersicht.",
"en":"Your certificates satisfy the 2G plus rule, unless a PCR test is required. If you need to prove your current status, close this view and show the QR code in the certificate overview.",
"pl":"Twoje certyfikaty s\u0105 zgodne z zasad\u0105 2G plus, o ile nie jest wymagany test PCR. Je\u015bli musisz udowodni\u0107 sw\u00f3j aktualny status, zamknij ten widok i wy\u015bwietl kod QR w przegl\u0105dzie certyfikat\u00f3w.",
"ro":"Certificatele dvs. respect\u0103 regula 2G plus, cu excep\u021bia cazului \u00een care este necesar un test PCR. Dac\u0103 trebuie s\u0103 dovedi\u021bi starea dvs. curent\u0103, \u00eenchide\u021bi aceast\u0103 vizualizare \u0219i afi\u0219a\u021bi codul QR \u00een sumarul certificatului.",
"tr":"PCR testi gerekmiyorsa sertifikalar\u0131n\u0131z 2G plus kural\u0131na uygun. G\u00fcncel durumunuzu kan\u0131tlaman\u0131z gerekiyorsa bu g\u00f6r\u00fcn\u00fcm\u00fcn\u00fc kapat\u0131n ve sertifikaya genel bak\u0131\u015f b\u00f6l\u00fcm\u00fcndeki QR kodu g\u00f6sterin."
}
},
{
"name":"ADMISSION_STATE_2G_PLUS_RAT_SUBTITLE_TEXT",
"type":"string",
"localizedText":{
"bg":"2G+ \u0431\u044a\u0440\u0437 \u0442\u0435\u0441\u0442",
"de":"2G+ Schnelltest",
"en":"2G+ rapid test",
"pl":"2G+ szybki test",
"ro":"2G+ test rapid",
"tr":"2G+ h\u0131zl\u0131 testi"
}
},
{
"name":"ADMISSION_STATE_2G_SUBTITLE_TEXT",
"type":"string",
"localizedText":{
"bg":"2G",
"de":"2G",
"en":"2G",
"pl":"2G",
"ro":"2G",
"tr":"2G"
}
},
{
"name":"ADMISSION_STATE_3G_WITH_PCR_BADGE_TEXT",
"type":"string",
"localizedText":{
"bg":"3G+",
"de":"3G+",
"en":"3G+",
"pl":"3G+",
"ro":"3G+",
"tr":"3G+"
}
},
{
"name":"ADMISSION_STATE_3G_WITH_PCR_LONG_TEXT",
"type":"string",
"localizedText":{
"bg":"\u0412\u0430\u0448\u0438\u0442\u0435 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0438 \u043e\u0442\u0433\u043e\u0432\u0430\u0440\u044f\u0442 \u043d\u0430 3G plus \u043f\u0440\u0430\u0432\u0438\u043b\u043e\u0442\u043e. \u0410\u043a\u043e \u0412\u0438 \u0441\u0435 \u043d\u0430\u043b\u0430\u0433\u0430 \u0434\u0430 \u0434\u043e\u043a\u0430\u0437\u0432\u0430\u0442\u0435 \u0441\u0432\u043e\u044f \u0442\u0435\u043a\u0443\u0449 \u0441\u0442\u0430\u0442\u0443\u0441 \u0437\u0430\u0442\u0432\u043e\u0440\u0435\u0442\u0435 \u0442\u043e\u0437\u0438 \u0438\u0437\u0433\u043b\u0435\u0434 \u0438 \u043f\u043e\u043a\u0430\u0436\u0435\u0442\u0435 QR \u043a\u043e\u0434\u0430 \u0432 \u201c\u041f\u0440\u0435\u0433\u043b\u0435\u0434 \u043d\u0430 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0438\u201d.",
"de":"Ihre Zertifikate erf\u00fcllen die 3G-Plus-Regel. Wenn Sie Ihren aktuellen Status vorweisen m\u00fcssen, schlie\u00dfen Sie diese Ansicht und zeigen Sie den QR-Code auf der Zertifikats\u00fcbersicht.",
"en":"Your certificates satisfy the 3G plus rule. If you need to prove your current status, close this view and show the QR code in the certificate overview.",
"pl":"Twoje certyfikaty s\u0105 zgodne z zasad\u0105 3G plus. Je\u015bli musisz udowodni\u0107 sw\u00f3j aktualny status, zamknij ten widok i poka\u017c kod QR w przegl\u0105dzie certyfikat\u00f3w.",
"ro":"Certificatele dvs. respect\u0103 regula 3G plus. Dac\u0103 trebuie s\u0103 dovedi\u021bi starea dvs. curent\u0103, \u00eenchide\u021bi aceast\u0103 vizualizare \u0219i afi\u0219a\u021bi codul QR \u00een sumarul certificatului.",
"tr":"Sertifikalar\u0131n\u0131z 3G plus kural\u0131na uygun. G\u00fcncel durumunuzu kan\u0131tlaman\u0131z gerekiyorsa bu g\u00f6r\u00fcn\u00fcm\u00fcn\u00fc kapat\u0131n ve sertifikaya genel bak\u0131\u015f b\u00f6l\u00fcm\u00fcndeki QR kodu g\u00f6sterin."
}
},
{
"name":"ADMISSION_STATE_3G_WITH_PCR_SUBTITLE_TEXT",
"type":"string",
"localizedText":{
"bg":"3G+",
"de":"3G+",
"en":"3G+",
"pl":"3G+",
"ro":"3G+",
"tr":"3G+"
}
},
{
"name":"ADMISSION_STATE_3G_WITH_RAT_BADGE_TEXT",
"type":"string",
"localizedText":{
"bg":"3G",
"de":"3G",
"en":"3G",
"pl":"3G",
"ro":"3G",
"tr":"3G"
}
},
{
"name":"ADMISSION_STATE_3G_WITH_RAT_LONG_TEXT",
"type":"string",
"localizedText":{
"bg":"\u0412\u0430\u0448\u0438\u0442\u0435 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0438 \u043e\u0442\u0433\u043e\u0432\u0430\u0440\u044f\u0442 \u043d\u0430 3G \u043f\u0440\u0430\u0432\u0438\u043b\u043e\u0442\u043e. \u0410\u043a\u043e \u0412\u0438 \u0441\u0435 \u043d\u0430\u043b\u0430\u0433\u0430 \u0434\u0430 \u0434\u043e\u043a\u0430\u0437\u0432\u0430\u0442\u0435 \u0441\u0432\u043e\u044f \u0442\u0435\u043a\u0443\u0449 \u0441\u0442\u0430\u0442\u0443\u0441 \u0437\u0430\u0442\u0432\u043e\u0440\u0435\u0442\u0435 \u0442\u043e\u0437\u0438 \u0438\u0437\u0433\u043b\u0435\u0434 \u0438 \u043f\u043e\u043a\u0430\u0436\u0435\u0442\u0435 QR \u043a\u043e\u0434\u0430 \u0432 \u201c\u041f\u0440\u0435\u0433\u043b\u0435\u0434 \u043d\u0430 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0438\u201d.",
"de":"Ihre Zertifikate erf\u00fcllen die 3G-Regel. Wenn Sie Ihren aktuellen Status vorweisen m\u00fcssen, schlie\u00dfen Sie diese Ansicht und zeigen Sie den QR-Code auf der Zertifikats\u00fcbersicht.",
"en":"Your certificates satisfy the 3G rule. If you need to prove your current status, close this view and show the QR code in the certificate overview.",
"pl":"Twoje certyfikaty s\u0105 zgodne z zasad\u0105 3G. Je\u015bli musisz udowodni\u0107 sw\u00f3j aktualny status, zamknij ten widok i poka\u017c kod QR w przegl\u0105dzie certyfikat\u00f3w.",
"ro":"Certificatele dvs. respect\u0103 regula 3G. Dac\u0103 trebuie s\u0103 dovedi\u021bi starea dvs. curent\u0103, \u00eenchide\u021bi aceast\u0103 vizualizare \u0219i afi\u0219a\u021bi codul QR \u00een sumarul certificatului.",
"tr":"Sertifikalar\u0131n\u0131z 3G kural\u0131na uygun. G\u00fcncel durumunuzu kan\u0131tlaman\u0131z gerekiyorsa bu g\u00f6r\u00fcn\u00fcm\u00fcn\u00fc kapat\u0131n ve sertifikaya genel bak\u0131\u015f b\u00f6l\u00fcm\u00fcndeki QR kodu g\u00f6sterin."
}
},
{
"name":"ADMISSION_STATE_3G_WITH_RAT_SUBTITLE_TEXT",
"type":"string",
"localizedText":{
"bg":"3G",
"de":"3G",
"en":"3G",
"pl":"3G",
"ro":"3G",
"tr":"3G"
}
},
{
"name":"ADMISSION_STATE_TITLE_TEXT",
"type":"string",
"localizedText":{
"bg":"\u0414\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0441\u0442\u0432\u043e \u0437\u0430 \u0441\u0442\u0430\u0442\u0443\u0441",
"de":"Status-Nachweis",
"en":"Proof of Status",
"pl":"Dow\u00f3d statusu",
"ro":"Dovada st\u0103rii",
"tr":"Durum Kan\u0131t\u0131"
}
},
{
"name":"BOOSTER_NOTIFICATION_SUBTITLE_TEXT",
"type":"string",
"localizedText":{
"bg":"\u041d\u0430 \u0431\u0430\u0437\u0430 \u043d\u0430 \u0412\u0430\u0448\u0438\u0442\u0435 \u0437\u0430\u043f\u0430\u0437\u0435\u043d\u0438 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0438",
"de":"auf Grundlage Ihrer gespeicherten Zertifikate",
"en":"based on your saved certificates",
"pl":"na podstawie Twoich zapisanych certyfikat\u00f3w",
"ro":"pe baza certificatelod dvs. salvate",
"tr":"kay\u0131tl\u0131 sertifikalar\u0131n\u0131z temelinde"
}
},
{
"name":"BOOSTER_NOTIFICATION_TITLE_TEXT",
"type":"string",
"localizedText":{
"bg":"\u0411\u0435\u043b\u0435\u0436\u043a\u0430 \u0437\u0430 \u0431\u0443\u0441\u0442\u0435\u0440\u043d\u0438 \u0434\u043e\u0437\u0438",
"de":"Hinweis zur Auffrischimpfung",
"en":"Note on Booster Vaccination",
"pl":"Uwaga dotycz\u0105ca szczepienia przypominaj\u0105cego",
"ro":"Not\u0103 privind vaccinarea booster",
"tr":"Hat\u0131rlatma A\u015f\u0131s\u0131yla \u0130lgili Not"
}
},
{
"name":"PERSON_VIEW_2G_CERTIFICATE",
"type":"string",
"localizedText":{
"bg":"2G \u0421\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442",
"de":"2G-Zertifikat",
"en":"2G Certificate",
"pl":"Certyfikat 2G",
"ro":"Certificat 2G",
"tr":"2G Sertifikas\u0131"
}
},
{
"name":"PERSON_VIEW_TEST_CERTIFICATE",
"type":"string",
"localizedText":{
"bg":"\u0421\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 \u0437\u0430 \u0442\u0435\u0441\u0442\u0432\u0430\u043d\u0435",
"de":"Testzertifikat",
"en":"Test Certificate",
"pl":"Certyfikat testu",
"ro":"Certificat de test",
"tr":"Test Sertifikas\u0131"
}
},
{
"name":"VACCINATION_STATE_COMPLETE_IMMUNIZATION_LONG_TEXT",
"type":"string",
"localizedText":{
"bg":"\u041f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u0441\u0442\u0435 \u0432\u0441\u0438\u0447\u043a\u0438 \u043f\u043b\u0430\u043d\u0438\u0440\u0430\u043d\u0438 \u0437\u0430 \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u0432\u0430\u043a\u0441\u0438\u043d\u0430\u0446\u0438\u0438. \u0412\u0430\u043a\u0441\u0438\u043d\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u0442\u0430 \u0412\u0438 \u0437\u0430\u0449\u0438\u0442\u0430 \u0435 \u043f\u044a\u043b\u043d\u0430.",
"de":"Sie haben nun alle derzeit geplanten Impfungen erhalten. Ihr Impfschutz ist vollst\u00e4ndig.",
"en":"You have received all currently planned vaccinations. Your vaccination protection is complete.",
"pl":"Otrzyma\u0142e\u015b(-a\u015b) wszystkie aktualnie zaplanowane szczepienia. Masz pe\u0142n\u0105 ochron\u0119 poszczepienn\u0105.",
"ro":"A\u021bi primit toate vaccin\u0103rile planificate \u00een acest moment. Protec\u021bia prin vaccinare este complet\u0103.",
"tr":"Ge\u00e7erli olarak planlanan t\u00fcm a\u015f\u0131lar\u0131 yapt\u0131rd\u0131n\u0131z. A\u015f\u0131 koruman\u0131z tamamland\u0131."
}
},
{
"name":"VACCINATION_STATE_COMPLETE_IMMUNIZATION_PENDING_LONG_TEXT",
"type":"plural",
"localizedText":{
"bg":{
"zero":"\u041f\u043e\u043b\u0443\u0447\u0438\u0445\u0442\u0435 \u0432\u0441\u0438\u0447\u043a\u0438 \u043f\u043b\u0430\u043d\u0438\u0440\u0430\u043d\u0438 \u0437\u0430 \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u0432\u0430\u043a\u0441\u0438\u043d\u0430\u0446\u0438\u0438, \u043d\u043e \u0432\u0430\u043a\u0441\u0438\u043d\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u0442\u0430 \u0412\u0438 \u0437\u0430\u0449\u0438\u0442\u0430 \u0449\u0435 \u0435 \u043f\u044a\u043b\u043d\u0430 \u0435\u0434\u0432\u0430 \u0441\u043b\u0435\u0434 %1$d \u0434\u0435\u043d\u0430.",
"one":"\u041f\u043e\u043b\u0443\u0447\u0438\u0445\u0442\u0435 \u0432\u0441\u0438\u0447\u043a\u0438 \u043f\u043b\u0430\u043d\u0438\u0440\u0430\u043d\u0438 \u0437\u0430 \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u0432\u0430\u043a\u0441\u0438\u043d\u0430\u0446\u0438\u0438, \u043d\u043e \u0432\u0430\u043a\u0441\u0438\u043d\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u0442\u0430 \u0412\u0438 \u0437\u0430\u0449\u0438\u0442\u0430 \u0449\u0435 \u0435 \u043f\u044a\u043b\u043d\u0430 \u0441\u043b\u0435\u0434 %1$d \u0434\u0435\u043d.",
"two":"\u041f\u043e\u043b\u0443\u0447\u0438\u0445\u0442\u0435 \u0432\u0441\u0438\u0447\u043a\u0438 \u043f\u043b\u0430\u043d\u0438\u0440\u0430\u043d\u0438 \u0437\u0430 \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u0432\u0430\u043a\u0441\u0438\u043d\u0430\u0446\u0438\u0438, \u043d\u043e \u0432\u0430\u043a\u0441\u0438\u043d\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u0442\u0430 \u0412\u0438 \u0437\u0430\u0449\u0438\u0442\u0430 \u0449\u0435 \u0435 \u043f\u044a\u043b\u043d\u0430 \u0435\u0434\u0432\u0430 \u0441\u043b\u0435\u0434 %1$d \u0434\u0435\u043d\u0430.",
"few":"\u041f\u043e\u043b\u0443\u0447\u0438\u0445\u0442\u0435 \u0432\u0441\u0438\u0447\u043a\u0438 \u043f\u043b\u0430\u043d\u0438\u0440\u0430\u043d\u0438 \u0437\u0430 \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u0432\u0430\u043a\u0441\u0438\u043d\u0430\u0446\u0438\u0438, \u043d\u043e \u0432\u0430\u043a\u0441\u0438\u043d\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u0442\u0430 \u0412\u0438 \u0437\u0430\u0449\u0438\u0442\u0430 \u0449\u0435 \u0435 \u043f\u044a\u043b\u043d\u0430 \u0435\u0434\u0432\u0430 \u0441\u043b\u0435\u0434 %1$d \u0434\u0435\u043d\u0430.",
"many":"\u041f\u043e\u043b\u0443\u0447\u0438\u0445\u0442\u0435 \u0432\u0441\u0438\u0447\u043a\u0438 \u043f\u043b\u0430\u043d\u0438\u0440\u0430\u043d\u0438 \u0437\u0430 \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u0432\u0430\u043a\u0441\u0438\u043d\u0430\u0446\u0438\u0438, \u043d\u043e \u0432\u0430\u043a\u0441\u0438\u043d\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u0442\u0430 \u0412\u0438 \u0437\u0430\u0449\u0438\u0442\u0430 \u0449\u0435 \u0435 \u043f\u044a\u043b\u043d\u0430 \u0435\u0434\u0432\u0430 \u0441\u043b\u0435\u0434 %1$d \u0434\u0435\u043d\u0430.",
"other":"\u041f\u043e\u043b\u0443\u0447\u0438\u0445\u0442\u0435 \u0432\u0441\u0438\u0447\u043a\u0438 \u043f\u043b\u0430\u043d\u0438\u0440\u0430\u043d\u0438 \u0437\u0430 \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u0432\u0430\u043a\u0441\u0438\u043d\u0430\u0446\u0438\u0438, \u043d\u043e \u0432\u0430\u043a\u0441\u0438\u043d\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u0442\u0430 \u0412\u0438 \u0437\u0430\u0449\u0438\u0442\u0430 \u0449\u0435 \u0435 \u043f\u044a\u043b\u043d\u0430 \u0435\u0434\u0432\u0430 \u0441\u043b\u0435\u0434 %1$d \u0434\u0435\u043d\u0430."
},
"de":{
"zero":"Sie haben nun alle derzeit geplanten Impfungen erhalten. Allerdings ist der Impfschutz erst in %1$d Tagen vollst\u00e4ndig.",
"one":"Sie haben nun alle derzeit geplanten Impfungen erhalten. Allerdings ist der Impfschutz erst in %1$d Tag vollst\u00e4ndig.",
"two":"Sie haben nun alle derzeit geplanten Impfungen erhalten. Allerdings ist der Impfschutz erst in %1$d Tagen vollst\u00e4ndig.",
"few":"Sie haben nun alle derzeit geplanten Impfungen erhalten. Allerdings ist der Impfschutz erst in %1$d Tagen vollst\u00e4ndig.",
"many":"Sie haben nun alle derzeit geplanten Impfungen erhalten. Allerdings ist der Impfschutz erst in %1$d Tagen vollst\u00e4ndig.",
"other":"Sie haben nun alle derzeit geplanten Impfungen erhalten. Allerdings ist der Impfschutz erst in %1$d Tagen vollst\u00e4ndig."
},
"en":{
"zero":"You have now received all the currently planned vaccinations, however, your vaccination protection will not be complete for another %1$d days.",
"one":"You have now received all the currently planned vaccinations, however, your vaccination protection will not be complete for another %1$d day.",
"two":"You have now received all the currently planned vaccinations, however, your vaccination protection will not be complete for another %1$d days.",
"few":"You have now received all the currently planned vaccinations, however, your vaccination protection will not be complete for another %1$d days.",
"many":"You have now received all the currently planned vaccinations, however, your vaccination protection will not be complete for another %1$d days.",
"other":"You have now received all the currently planned vaccinations, however, your vaccination protection will not be complete for another %1$d days."
},
"pl":{
"zero":"Otrzyma\u0142e\u015b(-a\u015b) ju\u017c wszystkie zaplanowane dotychczas szczepienia, jednak pe\u0142n\u0105 ochron\u0119 poszczepienn\u0105 uzyskasz dopiero za %1$d dni.",
"one":"Otrzyma\u0142e\u015b(-a\u015b) ju\u017c wszystkie zaplanowane dotychczas szczepienia, jednak pe\u0142n\u0105 ochron\u0119 poszczepienn\u0105 uzyskasz dopiero za %1$d dzie\u0144.",
"two":"Otrzyma\u0142e\u015b(-a\u015b) ju\u017c wszystkie zaplanowane dotychczas szczepienia, jednak pe\u0142n\u0105 ochron\u0119 poszczepienn\u0105 uzyskasz dopiero za %1$d dni.",
"few":"Otrzyma\u0142e\u015b(-a\u015b) ju\u017c wszystkie zaplanowane dotychczas szczepienia, jednak pe\u0142n\u0105 ochron\u0119 poszczepienn\u0105 uzyskasz dopiero za %1$d dni.",
"many":"Otrzyma\u0142e\u015b(-a\u015b) ju\u017c wszystkie zaplanowane dotychczas szczepienia, jednak pe\u0142n\u0105 ochron\u0119 poszczepienn\u0105 uzyskasz dopiero za %1$d dni.",
"other":"Otrzyma\u0142e\u015b(-a\u015b) ju\u017c wszystkie zaplanowane dotychczas szczepienia, jednak pe\u0142n\u0105 ochron\u0119 poszczepienn\u0105 uzyskasz dopiero za %1$d dnia."
},
"ro":{
"zero":"Acum a\u021bi efectuat toate vaccin\u0103rile planificate curente. Totu\u0219i, protec\u021bia prin vaccinare nu va fi complet\u0103 timp de \u00eenc\u0103 %1$d zile.",
"one":"Acum a\u021bi efectuat toate vaccin\u0103rile planificate curente. Totu\u0219i, protec\u021bia prin vaccinare nu va fi complet\u0103 timp de \u00eenc\u0103 %1$d zi.",
"two":"Acum a\u021bi efectuat toate vaccin\u0103rile planificate curente. Totu\u0219i, protec\u021bia prin vaccinare nu va fi complet\u0103 timp de \u00eenc\u0103 %1$d zile.",
"few":"Acum a\u021bi efectuat toate vaccin\u0103rile planificate curente. Totu\u0219i, protec\u021bia prin vaccinare nu va fi complet\u0103 timp de \u00eenc\u0103 %1$d zile.",
"many":"Acum a\u021bi efectuat toate vaccin\u0103rile planificate curente. Totu\u0219i, protec\u021bia prin vaccinare nu va fi complet\u0103 timp de \u00eenc\u0103 %1$d zile.",
"other":"Acum a\u021bi efectuat toate vaccin\u0103rile planificate curente. Totu\u0219i, protec\u021bia prin vaccinare nu va fi complet\u0103 timp de \u00eenc\u0103 %1$d de zile."
},
"tr":{
"zero":"\u015eu anda planlanan t\u00fcm a\u015f\u0131lar\u0131 ald\u0131n\u0131z ancak a\u015f\u0131 koruman\u0131z %1$d g\u00fcn daha tamamlanmayacakt\u0131r.",
"one":"\u015eu anda planlanan t\u00fcm a\u015f\u0131lar\u0131 ald\u0131n\u0131z ancak a\u015f\u0131 koruman\u0131z %1$d g\u00fcn daha tamamlanmayacakt\u0131r.",
"two":"\u015eu anda planlanan t\u00fcm a\u015f\u0131lar\u0131 ald\u0131n\u0131z ancak a\u015f\u0131 koruman\u0131z %1$d g\u00fcn daha tamamlanmayacakt\u0131r.",
"few":"\u015eu anda planlanan t\u00fcm a\u015f\u0131lar\u0131 ald\u0131n\u0131z ancak a\u015f\u0131 koruman\u0131z %1$d g\u00fcn daha tamamlanmayacakt\u0131r.",
"many":"\u015eu anda planlanan t\u00fcm a\u015f\u0131lar\u0131 ald\u0131n\u0131z ancak a\u015f\u0131 koruman\u0131z %1$d g\u00fcn daha tamamlanmayacakt\u0131r.",
"other":"\u015eu anda planlanan t\u00fcm a\u015f\u0131lar\u0131 ald\u0131n\u0131z ancak a\u015f\u0131 koruman\u0131z %1$d g\u00fcn daha tamamlanmayacakt\u0131r."
}
}
},
{
"name":"VACCINATION_STATE_PARTIAL_IMMUNIZATION_LONG_TEXT",
"type":"string",
"localizedText":{
"bg":"\u041d\u0435 \u0441\u0442\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u0432\u0441\u0438\u0447\u043a\u0438 \u043f\u043b\u0430\u043d\u0438\u0440\u0430\u043d\u0438 \u0437\u0430 \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u0432\u0430\u043a\u0441\u0438\u043d\u0430\u0446\u0438\u0438 \u2013 \u0412\u0430\u0448\u0430\u0442\u0430 \u0432\u0430\u043a\u0441\u0438\u043d\u0430\u0446\u0438\u043e\u043d\u043d\u0430 \u0437\u0430\u0449\u0438\u0442\u0430 \u0432\u0441\u0435 \u043e\u0449\u0435 \u043d\u0435 \u0435 \u043f\u044a\u043b\u043d\u0430.",
"de":"Sie haben noch nicht alle derzeit geplanten Impfungen erhalten. Daher ist Ihr Impfschutz noch nicht vollst\u00e4ndig.",
"en":"You have not yet received all the currently planned vaccinations. As such, your vaccination protection is not complete yet.",
"pl":"Nie otrzyma\u0142e\u015b(-a\u015b) jeszcze wszystkich zaplanowanych szczepie\u0144. W zwi\u0105zku z tym Twoja ochrona poszczepienna nie jest jeszcze pe\u0142na.",
"ro":"Nu a\u021bi primit \u00eenc\u0103 toate vaccin\u0103rile planificate curente. Astfel, protec\u021bia dvs. prin vaccinare nu este complet\u0103 \u00eenc\u0103.",
"tr":"Hen\u00fcz \u015fu anda t\u00fcm planlanan a\u015f\u0131lar\u0131 olmad\u0131n\u0131z. Dolay\u0131s\u0131yla a\u015f\u0131 koruman\u0131z hen\u00fcz tamamlanmad\u0131."
}
},
{
"name":"VACCINATION_STATE_SUBTITLE_TEXT",
"type":"plural",
"localizedText":{
"bg":{
"zero":"\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0430 \u0432\u0430\u043a\u0441\u0438\u043d\u0430\u0446\u0438\u044f \u0434\u043d\u0435\u0441",
"one":"\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0430 \u0432\u0430\u043a\u0441\u0438\u043d\u0430\u0446\u0438\u044f \u043f\u0440\u0435\u0434\u0438 %1$d \u0434\u0435\u043d",
"two":"\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0430 \u0432\u0430\u043a\u0441\u0438\u043d\u0430\u0446\u0438\u044f \u043f\u0440\u0435\u0434\u0438 %1$d \u0434\u0435\u043d\u0430",
"few":"\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0430 \u0432\u0430\u043a\u0441\u0438\u043d\u0430\u0446\u0438\u044f \u043f\u0440\u0435\u0434\u0438 %1$d \u0434\u0435\u043d\u0430",
"many":"\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0430 \u0432\u0430\u043a\u0441\u0438\u043d\u0430\u0446\u0438\u044f \u043f\u0440\u0435\u0434\u0438 %1$d \u0434\u0435\u043d\u0430",
"other":"\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0430 \u0432\u0430\u043a\u0441\u0438\u043d\u0430\u0446\u0438\u044f \u043f\u0440\u0435\u0434\u0438 %1$d \u0434\u0435\u043d\u0430"
},
"de":{
"zero":"Letzte Impfung heute",
"one":"Letzte Impfung vor %1$d Tag",
"two":"Letzte Impfung vor %1$d Tagen",
"few":"Letzte Impfung vor %1$d Tagen",
"many":"Letzte Impfung vor %1$d Tagen",
"other":"Letzte Impfung vor %1$d Tagen"
},
"en":{
"zero":"Last vaccination today",
"one":"Last vaccination %1$d day ago",
"two":"Last vaccination %1$d days ago",
"few":"Last vaccination %1$d days ago",
"many":"Last vaccination %1$d days ago",
"other":"Last vaccination %1$d days ago"
},
"pl":{
"zero":"Ostatnie szczepienie dzisiaj",
"one":"Ostatnie szczepienie %1$d dzie\u0144 temu",
"two":"Ostatnie szczepienie %1$d dni temu",
"few":"Ostatnie szczepienie %1$d dni temu",
"many":"Ostatnie szczepienie %1$d dni temu",
"other":"Ostatnie szczepienie %1$d dnia temu"
},
"ro":{
"zero":"Ultima vaccinare ast\u0103zi",
"one":"Ultima vaccinare: acum %1$d zi",
"two":"Ultima vaccinare: acum %1$d zile",
"few":"Ultima vaccinare: acum %1$d zile",
"many":"Ultima vaccinare: acum %1$d zile",
"other":"Ultima vaccinare: acum %1$d de zile"
},
"tr":{
"zero":"Son a\u015f\u0131 bug\u00fcn yap\u0131ld\u0131",
"one":"Son a\u015f\u0131 %1$d g\u00fcn \u00f6nce yap\u0131ld\u0131",
"two":"Son a\u015f\u0131 %1$d g\u00fcn \u00f6nce yap\u0131ld\u0131",
"few":"Son a\u015f\u0131 %1$d g\u00fcn \u00f6nce yap\u0131ld\u0131",
"many":"Son a\u015f\u0131 %1$d g\u00fcn \u00f6nce yap\u0131ld\u0131",
"other":"Son a\u015f\u0131 %1$d g\u00fcn \u00f6nce yap\u0131ld\u0131"
}
}
},
{
"name":"VACCINATION_STATE_TITLE_TEXT",
"type":"string",
"localizedText":{
"bg":"\u0412\u0430\u043a\u0441\u0438\u043d\u0430\u0446\u0438\u043e\u043d\u0435\u043d \u0441\u0442\u0430\u0442\u0443\u0441",
"de":"Impfstatus",
"en":"Vaccination Status",
"pl":"Status zaszczepienia",
"ro":"Starea vaccin\u0103rii",
"tr":"A\u015f\u0131 Durumu"
}
}
]
]
}
]
}
},
{
"name":"__sortCertificatesByDate",
"definition":{
"parameters":[
{
"name":"certificates"
},
{
"name":"ascending",
"default":true
}
],
"logic":[
{
"declare":[
"sorted",
{
"if":[
{
"var":"ascending"
},
{
"sort":[
{
"var":"certificates"
},
{
"if":[
{
"===":[
{
"if":[
{
"var":"a.hcert.v.0"
},
{
"var":"a.hcert.v.0.dt"
},
{
"var":"a.hcert.r.0"
},
{
"var":"a.hcert.r.0.df"
},
{
"var":"a.hcert.t.0"
},
{
"var":"a.hcert.t.0.sc"
},
null
]
},
{
"if":[
{
"var":"b.hcert.v.0"
},
{
"var":"b.hcert.v.0.dt"
},
{
"var":"b.hcert.r.0"
},
{
"var":"b.hcert.r.0.df"
},
{
"var":"b.hcert.t.0"
},
{
"var":"b.hcert.t.0.sc"
},
null
]
}
]
},
{
">":[
{
"var":"a.cwt.iat"
},
{
"var":"b.cwt.iat"
}
]
},
{
"after":[
{
"if":[
{
"var":"a.hcert.v.0"
},
{
"var":"a.hcert.v.0.dt"
},
{
"var":"a.hcert.r.0"
},
{
"var":"a.hcert.r.0.df"
},
{
"var":"a.hcert.t.0"
},
{
"var":"a.hcert.t.0.sc"
},
null
]
},
{
"if":[
{
"var":"b.hcert.v.0"
},
{
"var":"b.hcert.v.0.dt"
},
{
"var":"b.hcert.r.0"
},
{
"var":"b.hcert.r.0.df"
},
{
"var":"b.hcert.t.0"
},
{
"var":"b.hcert.t.0.sc"
},
null
]
}
]
}
]
}
]
},
{
"sort":[
{
"var":"certificates"
},
{
"if":[
{
"===":[
{
"if":[
{
"var":"a.hcert.v.0"
},
{
"var":"a.hcert.v.0.dt"
},
{
"var":"a.hcert.r.0"
},
{
"var":"a.hcert.r.0.df"
},
{
"var":"a.hcert.t.0"
},
{
"var":"a.hcert.t.0.sc"
},
null
]
},
{
"if":[
{
"var":"b.hcert.v.0"
},
{
"var":"b.hcert.v.0.dt"
},
{
"var":"b.hcert.r.0"
},
{
"var":"b.hcert.r.0.df"
},
{
"var":"b.hcert.t.0"
},
{
"var":"b.hcert.t.0.sc"
},
null
]
}
]
},
{
"<":[
{
"var":"a.cwt.iat"
},
{
"var":"b.cwt.iat"
}
]
},
{
"before":[
{
"if":[
{
"var":"a.hcert.v.0"
},
{
"var":"a.hcert.v.0.dt"
},
{
"var":"a.hcert.r.0"
},
{
"var":"a.hcert.r.0.df"
},
{
"var":"a.hcert.t.0"
},
{
"var":"a.hcert.t.0.sc"
},
null
]
},
{
"if":[
{
"var":"b.hcert.v.0"
},
{
"var":"b.hcert.v.0.dt"
},
{
"var":"b.hcert.r.0"
},
{
"var":"b.hcert.r.0.df"
},
{
"var":"b.hcert.t.0"
},
{
"var":"b.hcert.t.0.sc"
},
null
]
}
]
}
]
}
]
}
]
}
]
},
{
"return":[
{
"var":"sorted"
}
]
}
]
}
},
{
"name":"__sortRecoveryCertificatesByDate",
"definition":{
"parameters":[
{
"name":"certificates"
},
{
"name":"ascending",
"default":true
}
],
"logic":[
{
"declare":[
"sorted",
{
"if":[
{
"var":"ascending"
},
{
"sort":[
{
"var":"certificates"
},
{
"if":[
{
"===":[
{
"var":"a.hcert.r.0.fr"
},
{
"var":"b.hcert.r.0.fr"
}
]
},
{
">":[
{
"var":"a.cwt.iat"
},
{
"var":"b.cwt.iat"
}
]
},
{
"after":[
{
"var":"a.hcert.r.0.fr"
},
{
"var":"b.hcert.r.0.fr"
}
]
}
]
}
]
},
{
"sort":[
{
"var":"certificates"
},
{
"if":[
{
"===":[
{
"var":"a.hcert.r.0.fr"
},
{
"var":"b.hcert.r.0.fr"
}
]
},
{
"<":[
{
"var":"a.cwt.iat"
},
{
"var":"b.cwt.iat"
}
]
},
{
"before":[
{
"var":"a.hcert.r.0.fr"
},
{
"var":"b.hcert.r.0.fr"
}
]
}
]
}
]
}
]
}
]
},
{
"return":[
{
"var":"sorted"
}
]
}
]
}
},
{
"name":"__sortTestCertificatesByDate",
"definition":{
"parameters":[
{
"name":"certificates"
},
{
"name":"ascending",
"default":true
}
],
"logic":[
{
"declare":[
"sorted",
{
"if":[
{
"var":"ascending"
},
{
"sort":[
{
"var":"certificates"
},
{
"if":[
{
"===":[
{
"var":"a.hcert.t.0.sc"
},
{
"var":"b.hcert.t.0.sc"
}
]
},
{
">":[
{
"var":"a.cwt.iat"
},
{
"var":"b.cwt.iat"
}
]
},
{
"after":[
{
"var":"a.hcert.t.0.sc"
},
{
"var":"b.hcert.t.0.sc"
}
]
}
]
}
]
},
{
"sort":[
{
"var":"certificates"
},
{
"if":[
{
"===":[
{
"var":"a.hcert.t.0.sc"
},
{
"var":"b.hcert.t.0.sc"
}
]
},
{
"<":[
{
"var":"a.cwt.iat"
},
{
"var":"b.cwt.iat"
}
]
},
{
"before":[
{
"var":"a.hcert.t.0.sc"
},
{
"var":"b.hcert.t.0.sc"
}
]
}
]
}
]
}
]
}
]
},
{
"return":[
{
"var":"sorted"
}
]
}
]
}
},
{
"name":"__sortVaccinationCertificatesByDate",
"definition":{
"parameters":[
{
"name":"certificates"
},
{
"name":"ascending",
"default":true
}
],
"logic":[
{
"declare":[
"sorted",
{
"if":[
{
"var":"ascending"
},
{
"sort":[
{
"var":"certificates"
},
{
"if":[
{
"===":[
{
"var":"a.hcert.v.0.dt"
},
{
"var":"b.hcert.v.0.dt"
}
]
},
{
">":[
{
"var":"a.cwt.iat"
},
{
"var":"b.cwt.iat"
}
]
},
{
"after":[
{
"var":"a.hcert.v.0.dt"
},
{
"var":"b.hcert.v.0.dt"
}
]
}
]
}
]
},
{
"sort":[
{
"var":"certificates"
},
{
"if":[
{
"===":[
{
"var":"a.hcert.v.0.dt"
},
{
"var":"b.hcert.v.0.dt"
}
]
},
{
"<":[
{
"var":"a.cwt.iat"
},
{
"var":"b.cwt.iat"
}
]
},
{
"before":[
{
"var":"a.hcert.v.0.dt"
},
{
"var":"b.hcert.v.0.dt"
}
]
}
]
}
]
}
]
}
]
},
{
"return":[
{
"var":"sorted"
}
]
}
]
}
},
{
"name":"__toCertificateReference",
"definition":{
"parameters":[
{
"name":"certificate"
}
],
"logic":[
{
"return":[
{
"init":[
"object",
"certificateRef",
{
"init":[
"object",
"barcodeData",
{
"var":"certificate.barcodeData"
}
]
}
]
}
]
}
]
}
},
{
"name":"getDccWalletInfo",
"definition":{
"parameters":[
{
"name":"os"
},
{
"name":"language"
},
{
"name":"now"
},
{
"name":"certificates"
},
{
"name":"boosterNotificationRules"
}
],
"logic":[
{
"declare":[
"walletAnalysis",
{
"call":[
"__analyzeDccWallet",
{
"os":{
"var":"os"
},
"language":{
"var":"language"
},
"now":{
"var":"now"
},
"certificates":{
"var":"certificates"
}
}
]
}
]
},
{
"declare":[
"admissionState",
{
"init":[
"object",
"value",
{
"var":"walletAnalysis.admissionState"
},
"faqAnchor",
"admission_policy"
]
}
]
},
{
"assign":[
"admissionState.visible",
{
"!==":[
{
"var":"walletAnalysis.admissionState"
},
"OTHER"
]
}
]
},
{
"if":[
{
"var":"admissionState.visible"
},
{
"assign":[
"admissionState.badgeText",
{
"call":[
"__i18n.getTextDescriptor",
{
"key":{
"concatenate":[
"ADMISSION_STATE_",
{
"var":"walletAnalysis.admissionState"
},
"_BADGE_TEXT"
]
}
}
]
}
]
}
]
},
{
"if":[
{
"var":"admissionState.visible"
},
{
"assign":[
"admissionState.titleText",
{
"call":[
"__i18n.getTextDescriptor",
{
"key":"ADMISSION_STATE_TITLE_TEXT"
}
]
}
]
}
]
},
{
"if":[
{
"var":"admissionState.visible"
},
{
"assign":[
"admissionState.subtitleText",
{
"call":[
"__i18n.getTextDescriptor",
{
"key":{
"concatenate":[
"ADMISSION_STATE_",
{
"var":"walletAnalysis.admissionState"
},
"_SUBTITLE_TEXT"
]
}
}
]
}
]
}
]
},
{
"if":[
{
"var":"admissionState.visible"
},
{
"assign":[
"admissionState.longText",
{
"call":[
"__i18n.getTextDescriptor",
{
"key":{
"concatenate":[
"ADMISSION_STATE_",
{
"var":"walletAnalysis.admissionState"
},
"_LONG_TEXT"
]
}
}
]
}
]
}
]
},
{
"declare":[
"vaccinationState",
{
"init":[
"object",
"value",
{
"var":"walletAnalysis.vaccinationState"
}
]
}
]
},
{
"assign":[
"vaccinationState.visible",
{
">":[
{
"count":[
{
"var":"walletAnalysis.allRelevantVCsAnnotated"
}
]
},
0
]
}
]
},
{
"if":[
{
"var":"vaccinationState.visible"
},
{
"assign":[
"vaccinationState.titleText",
{
"call":[
"__i18n.getTextDescriptor",
{
"key":"VACCINATION_STATE_TITLE_TEXT"
}
]
}
]
}
]
},
{
"if":[
{
"var":"vaccinationState.visible"
},
{
"assign":[
"vaccinationState.subtitleText",
{
"init":[
"object",
"type",
"system-time-dependent",
"functionName",
"getVaccinationStateSubtitleText",
"parameters",
{
"init":[
"object",
"dt",
{
"var":"walletAnalysis.mostRecentVaccinationCertificate.hcert.v.0.dt"
}
]
}
]
}
]
}
]
},
{
"if":[
{
"var":"vaccinationState.visible"
},
{
"assign":[
"vaccinationState.longText",
{
"if":[
{
"!==":[
{
"var":"walletAnalysis.vaccinationState"
},
"PARTIAL_IMMUNIZATION"
]
},
{
"init":[
"object",
"type",
"system-time-dependent",
"functionName",
"getVaccinationStateLongText",
"parameters",
{
"init":[
"object",
"dt",
{
"var":"walletAnalysis.mostRecentVaccinationCertificate.hcert.v.0.dt"
},
"offsetInDays",
{
"var":"walletAnalysis.mostRecentVaccinationCertificate.__offsetInDays"
}
]
}
]
},
{
"call":[
"__i18n.getTextDescriptor",
{
"key":"VACCINATION_STATE_PARTIAL_IMMUNIZATION_LONG_TEXT"
}
]
}
]
}
]
}
]
},
{
"declare":[
"verificationCertificates",
{
"init":[
"object"
]
}
]
},
{
"assign":[
"verificationCertificates.certificates",
{
"map":[
{
"var":"walletAnalysis.verificationCertificates"
},
{
"init":[
"object",
"buttonText",
{
"if":[
{
"var":"it.hcert.t.0"
},
{
"call":[
"__i18n.getTextDescriptor",
{
"key":"PERSON_VIEW_TEST_CERTIFICATE"
}
]
},
{
"call":[
"__i18n.getTextDescriptor",
{
"key":"PERSON_VIEW_2G_CERTIFICATE"
}
]
}
]
},
"certificateRef",
{
"init":[
"object",
"barcodeData",
{
"var":"it.barcodeData"
}
]
}
]
},
"it"
]
}
]
},
{
"declare":[
"youngestVaccinationCertificate",
{
"script":[
{
"declare":[
"sorted",
{
"call":[
"__sortVaccinationCertificatesByDate",
{
"certificates":{
"var":"walletAnalysis.allRelevantVCsAnnotated"
},
"ascending":false
}
]
}
]
},
{
"return":[
{
"var":"sorted.0"
}
]
}
]
}
]
},
{
"declare":[
"youngestRecoveryCertificate",
{
"script":[
{
"declare":[
"sorted",
{
"call":[
"__sortRecoveryCertificatesByDate",
{
"certificates":{
"var":"walletAnalysis.allRelevantRCsAnnotated"
},
"ascending":false
}
]
}
]
},
{
"return":[
{
"var":"sorted.0"
}
]
}
]
}
]
},
{
"declare":[
"bnrMatch",
{
"call":[
"__evaluateBoosterNotificationRules",
{
"vc":{
"var":"youngestVaccinationCertificate"
},
"rc":{
"var":"youngestRecoveryCertificate"
},
"boosterNotificationRules":{
"var":"boosterNotificationRules"
},
"validationClock":{
"var":"now.utcDateTime"
}
}
]
}
]
},
{
"declare":[
"boosterNotification",
{
"init":[
"object",
"identifier",
{
"var":"bnrMatch.Identifier"
},
"faqAnchor",
"vac_cert_booster"
]
}
]
},
{
"assign":[
"boosterNotification.visible",
{
"!!":[
{
"var":"bnrMatch"
}
]
}
]
},
{
"if":[
{
"var":"boosterNotification.visible"
},
{
"assign":[
"boosterNotification.titleText",
{
"call":[
"__i18n.getTextDescriptor",
{
"key":"BOOSTER_NOTIFICATION_TITLE_TEXT"
}
]
}
]
}
]
},
{
"if":[
{
"var":"boosterNotification.visible"
},
{
"assign":[
"boosterNotification.subtitleText",
{
"call":[
"__i18n.getTextDescriptor",
{
"key":"BOOSTER_NOTIFICATION_SUBTITLE_TEXT"
}
]
}
]
}
]
},
{
"if":[
{
"var":"boosterNotification.visible"
},
{
"assign":[
"boosterNotification.longText",
{
"init":[
"object",
"type",
"string",
"localizedText",
{
"init":[
"object",
"en",
{
"var":"bnrMatch.DescriptionByLang.en"
},
"de",
{
"var":"bnrMatch.DescriptionByLang.de"
}
]
},
"parameters",
[
]
]
}
]
}
]
},
{
"return":[
{
"init":[
"object",
"mostRelevantCertificate",
{
"call":[
"__toCertificateReference",
{
"certificate":{
"var":"walletAnalysis.mostRelevantCertificate"
}
}
]
},
"mostRecentVaccination",
{
"call":[
"__toCertificateReference",
{
"certificate":{
"var":"walletAnalysis.mostRecentVaccination"
}
}
]
},
"vaccinationValidFrom",
{
"var":"walletAnalysis.vaccinationValidFrom"
},
"hasBooster",
{
"var":"walletAnalysis.hasBooster"
},
"admissionState",
{
"var":"admissionState"
},
"vaccinationState",
{
"var":"vaccinationState"
},
"verification",
{
"var":"verificationCertificates"
},
"boosterNotification",
{
"var":"boosterNotification"
},
"validUntil",
{
"plusTime":[
{
"var":"now.localDateTimeMidnight"
},
1,
"day"
]
}
]
}
]
}
]
}
},
{
"name":"getVaccinationStateSubtitleText",
"definition":{
"parameters":[
{
"name":"now"
},
{
"name":"dt"
}
],
"logic":[
{
"declare":[
"diff",
{
"diffTime":[
{
"var":"now.utcDateTimeMidnight"
},
{
"var":"dt"
},
"day"
]
}
]
},
{
"declare":[
"textDescriptor",
{
"call":[
"__i18n.getQuantityDescriptor",
{
"key":"VACCINATION_STATE_SUBTITLE_TEXT",
"quantity":{
"var":"diff"
},
"parameters":{
"init":[
"array",
{
"init":[
"object",
"type",
"number",
"value",
{
"var":"diff"
}
]
}
]
}
}
]
}
]
},
{
"return":[
{
"var":"textDescriptor"
}
]
}
]
}
},
{
"name":"getVaccinationStateLongText",
"definition":{
"parameters":[
{
"name":"now"
},
{
"name":"dt"
},
{
"name":"offsetInDays"
}
],
"logic":[
{
"declare":[
"diff",
{
"diffTime":[
{
"plusTime":[
{
"var":"dt"
},
{
"var":"offsetInDays"
},
"day"
]
},
{
"var":"now.utcDateTimeMidnight"
},
"day"
]
}
]
},
{
"declare":[
"textDescriptor",
{
"if":[
{
">":[
{
"var":"diff"
},
0
]
},
{
"call":[
"__i18n.getQuantityDescriptor",
{
"key":{
"concatenate":[
"VACCINATION_STATE_",
"COMPLETE_IMMUNIZATION_PENDING",
"_LONG_TEXT"
]
},
"quantity":{
"var":"diff"
},
"parameters":{
"init":[
"array",
{
"init":[
"object",
"type",
"number",
"value",
{
"var":"diff"
}
]
}
]
}
}
]
},
{
"call":[
"__i18n.getTextDescriptor",
{
"key":{
"concatenate":[
"VACCINATION_STATE_",
"COMPLETE_IMMUNIZATION",
"_LONG_TEXT"
]
}
}
]
}
]
}
]
},
{
"return":[
{
"var":"textDescriptor"
}
]
}
]
}
}
]
}
}
]
This is a plain representation of the Corona Warn App Common Covid Logic from Version 2.18.
Via https://github.com/corona-warn-app/cwa-app-ios/blob/c5223c1d6eeb5207cd2ed128a757ea37413c0e20/src/xcode/ENA/ENA/Source/HTTPClient/Resources/CCLConfiguration/ccl-configuration.bin
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment