Merge pull request #63 from covidpass-org/dev

Italian translation and short privacy policy
This commit is contained in:
Marvin Sextro 2021-07-27 03:15:54 +02:00 committed by GitHub
commit 6dd4a104f7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
18 changed files with 203 additions and 18 deletions

20
components/Check.tsx Normal file
View File

@ -0,0 +1,20 @@
import {useTranslation} from 'next-i18next';
interface CheckProps {
text: string;
}
function Check(props: CheckProps): JSX.Element {
const { t } = useTranslation(["index"]);
return (
<li className="flex flex-row space-x-4 items-center">
<svg xmlns="http://www.w3.org/2000/svg" className="h-5 w-5 mx-2 fill-current text-green-500" viewBox="0 0 20 20" fill="currentColor">
<path fillRule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clipRule="evenodd" />
</svg>
{props.text}
</li>
)
}
export default Check;

View File

@ -7,6 +7,7 @@ import Link from 'next/link';
import Card from "./Card"; import Card from "./Card";
import Alert from "./Alert"; import Alert from "./Alert";
import Check from './Check';
import {PayloadBody} from "../src/payload"; import {PayloadBody} from "../src/payload";
import {getPayloadBodyFromFile, getPayloadBodyFromQR} from "../src/process"; import {getPayloadBodyFromFile, getPayloadBodyFromQR} from "../src/process";
import {PassData} from "../src/pass"; import {PassData} from "../src/pass";
@ -238,6 +239,13 @@ function Form(): JSX.Element {
</a> </a>
</Link>. </Link>.
</p> </p>
<div>
<ul className="list-none">
<Check text={t('createdOnDevice')}></Check>
<Check text={t('openSourceTransparent')}></Check>
<Check text={t('hostedInEU')}></Check>
</ul>
</div>
<label htmlFor="privacy" className="flex flex-row space-x-4 items-center"> <label htmlFor="privacy" className="flex flex-row space-x-4 items-center">
<input type="checkbox" id="privacy" value="privacy" required className="h-4 w-4"/> <input type="checkbox" id="privacy" value="privacy" required className="h-4 w-4"/>
<p> <p>

View File

@ -7,7 +7,8 @@ module.exports = {
'fr', 'fr-BE', 'fr-CH', 'fr-FR', 'fr-LU', 'fr-MC', 'fr', 'fr-BE', 'fr-CH', 'fr-FR', 'fr-LU', 'fr-MC',
'nl', 'nl-NL', 'nl-BE', 'nl', 'nl-NL', 'nl-BE',
'fi', 'fi-FI', 'fi', 'fi-FI',
'el', 'el-GR', 'el-CY' 'el', 'el-GR', 'el-CY',
'it', 'it-IT', 'it-CH'
], ],
localeExtension: 'yml', localeExtension: 'yml',
}, },

View File

@ -10,7 +10,7 @@ function Imprint(): JSX.Element {
return ( return (
<Page content={ <Page content={
<Card step="§" heading={t('common:imprint')} content={ <Card step="§" heading={t('common:imprint')} content={
<div className="space-y-2"> <div className="space-y-3">
<p className="font-bold">{t('imprint:heading')}</p> <p className="font-bold">{t('imprint:heading')}</p>
<p> <p>
Marvin Sextro<br /> Marvin Sextro<br />

View File

@ -9,10 +9,10 @@ function Privacy(): JSX.Element {
return ( return (
<Page content={ <Page content={
<Card step="i" heading={t('common:privacyPolicy')} content={ <Card step="i" heading={t('common:privacyPolicy')} content={
<div className="space-y-2"> <div className="space-y-3">
<p>{t('privacy:gdprNotice')}</p> <p>{t('privacy:gdprNotice')}</p>
<p className="font-bold">{t('privacy:generalInfo')}</p> <p className="font-bold text-lg">{t('privacy:generalInfo')}</p>
<div className="px-4"> <div className="pl-6">
<ul className="list-disc"> <ul className="list-disc">
<li>{t('privacy:generalInfoProcess')}</li> <li>{t('privacy:generalInfoProcess')}</li>
<li>{t('privacy:generalInfoStoring')}</li> <li>{t('privacy:generalInfoStoring')}</li>
@ -62,7 +62,7 @@ function Privacy(): JSX.Element {
</p> </p>
<p className="font-bold">{t('privacy:process')}</p> <p className="font-bold">{t('privacy:process')}</p>
<p>{t('privacy:processFirst')}:</p> <p>{t('privacy:processFirst')}:</p>
<div className="px-4"> <div className="pl-6">
<ul className="list-disc"> <ul className="list-disc">
<li>{t('privacy:processRecognizing')}</li> <li>{t('privacy:processRecognizing')}</li>
<li>{t('privacy:processDecoding')}</li> <li>{t('privacy:processDecoding')}</li>
@ -72,7 +72,7 @@ function Privacy(): JSX.Element {
</ul> </ul>
</div> </div>
<p>{t('privacy:processSecond')}:</p> <p>{t('privacy:processSecond')}:</p>
<div className="px-4"> <div className="pl-6">
<ul className="list-disc"> <ul className="list-disc">
<li>{t('privacy:processReceiving')}</li> <li>{t('privacy:processReceiving')}</li>
<li>{t('privacy:processSigning')}</li> <li>{t('privacy:processSigning')}</li>
@ -80,7 +80,7 @@ function Privacy(): JSX.Element {
</ul> </ul>
</div> </div>
<p>{t('privacy:processThird')}:</p> <p>{t('privacy:processThird')}:</p>
<div className="px-4"> <div className="px-5">
<ul className="list-disc"> <ul className="list-disc">
<li>{t('privacy:processCompleting')}</li> <li>{t('privacy:processCompleting')}</li>
<li>{t('privacy:processSaving')}</li> <li>{t('privacy:processSaving')}</li>
@ -107,7 +107,7 @@ function Privacy(): JSX.Element {
91710 Gunzenhausen<br /> 91710 Gunzenhausen<br />
</p> </p>
<p>{t('privacy:logFiles')}:</p> <p>{t('privacy:logFiles')}:</p>
<div className="px-4"> <div className="pl-6">
<ul className="list-disc"> <ul className="list-disc">
<li>{t('privacy:logFilesBrowser')}</li> <li>{t('privacy:logFilesBrowser')}</li>
<li>{t('privacy:logFilesOs')}</li> <li>{t('privacy:logFilesOs')}</li>
@ -118,7 +118,7 @@ function Privacy(): JSX.Element {
</div> </div>
<p className="font-bold">{t('privacy:rights')}</p> <p className="font-bold">{t('privacy:rights')}</p>
<p>{t('privacy:rightsGranted')}:</p> <p>{t('privacy:rightsGranted')}:</p>
<div className="px-4"> <div className="pl-6">
<ul className="list-disc"> <ul className="list-disc">
<li>{t('privacy:rightsAccess')}</li> <li>{t('privacy:rightsAccess')}</li>
<li>{t('privacy:rightsErasure')}</li> <li>{t('privacy:rightsErasure')}</li>
@ -127,7 +127,7 @@ function Privacy(): JSX.Element {
</ul> </ul>
</div> </div>
<p className="font-bold">{t('privacy:thirdParties')}</p> <p className="font-bold">{t('privacy:thirdParties')}</p>
<div className="px-4"> <div className="pl-6">
<ul className="list-disc"> <ul className="list-disc">
<li> <li>
GitHub: GitHub:

View File

@ -24,3 +24,6 @@ dataPrivacyDescription: |
Damit Du eine fundierte Entscheidung triffst, lies bitte die Damit Du eine fundierte Entscheidung triffst, lies bitte die
iAcceptThe: Ich akzeptiere die iAcceptThe: Ich akzeptiere die
privacyPolicy: Datenschutzerklärung privacyPolicy: Datenschutzerklärung
createdOnDevice: Auf Deinem Gerät erstellt
openSourceTransparent: Open Source und transparent
hostedInEU: In der EU gehostet

View File

@ -24,6 +24,6 @@ dataPrivacyDescription: |
Για να μπορέσετε να λάβετε μια τεκμηριωμένη απόφαση, παρακαλώ διαβάστε πρώτα την Για να μπορέσετε να λάβετε μια τεκμηριωμένη απόφαση, παρακαλώ διαβάστε πρώτα την
iAcceptThe: Αποδέχομαι την iAcceptThe: Αποδέχομαι την
privacyPolicy: Πολιτική Απορρήτου privacyPolicy: Πολιτική Απορρήτου
noCameraAccess: Αποτυχία πρόσβασης στην κάμερα. Ελέγξτε τα δικαιώματα στις Ρυθμίσεις > Safari > Κάμερα. createdOnDevice: Δημιουργήθηκε στη συσκευή σας
noCameraFound: Δεν βρέθηκε κάποια κάμερα. OpenSourceTransparent: Ανοιχτού κώδικα και διαφανής
safariSupportOnly: Στο iOS, παρακαλώ χρησιμοποιήστε τον περιηγητή Safari. hostedInEU: φιλοξενείται στην ΕΕ

View File

@ -24,3 +24,6 @@ dataPrivacyDescription: |
In order for you to make an informed decision, please read the In order for you to make an informed decision, please read the
iAcceptThe: I accept the iAcceptThe: I accept the
privacyPolicy: Privacy Policy privacyPolicy: Privacy Policy
createdOnDevice: Created on your device
openSourceTransparent: Open source and transparent
hostedInEU: Hosted in the EU

View File

@ -24,3 +24,6 @@ dataPrivacyDescription: |
Jotta voisit tehdä tietoon perustuvan päätöksen, lue seuraavat tiedot Jotta voisit tehdä tietoon perustuvan päätöksen, lue seuraavat tiedot
iAcceptThe: Hyväksyn iAcceptThe: Hyväksyn
privacyPolicy: Tietosuojaselosteen privacyPolicy: Tietosuojaselosteen
createdOnDevice: Luotu laitteellasi
openSourceTransparent: Avoin lähdekoodi ja läpinäkyvä
hostedInEU: Isännöidään EU:ssa.

View File

@ -24,3 +24,6 @@ dataPrivacyDescription: |
Afin que vous puissiez prendre une décision en connaissance de cause, veuillez lire la Afin que vous puissiez prendre une décision en connaissance de cause, veuillez lire la
iAcceptThe: J'accepte la iAcceptThe: J'accepte la
privacyPolicy: Politique de confidentialité privacyPolicy: Politique de confidentialité
createdOnDevice : Créé sur votre appareil
openSourceTransparent : Open source et transparent
hostedInEU : Hébergé dans l'UE

1
public/locales/it-CH Symbolic link
View File

@ -0,0 +1 @@
it

1
public/locales/it-IT Symbolic link
View File

@ -0,0 +1 @@
it

View File

@ -0,0 +1,6 @@
title: CovidPass
subtitle: Aggiungi i tuoi certificati digitali europei COVID alle tue app Wallet preferite.
privacyPolicy: Politica sulla Riservatezza
donate: Donazione
gitHub: GitHub
imprint: Menzioni legali

View File

@ -0,0 +1,20 @@
noFileOrQrCode: Perfavore scannerizza un Codice QR, o seleziona un file
signatureFailed: Errore durante la firma del pass sul server
decodingFailed: Impossibile decodificare il payload del Codice QR
invalidColor: Colore non valido
certificateData: Impossibile leggere i dati del certificato
nameMissing: Impossibile leggere il nome
dobMissing: Impossibile leggere la data di nascita
invalidMedicalProduct: Prodotto medico non valido
invalidCountryCode: Codice paese non valido
invalidManufacturer: Produttore non valido
invalidFileType: Tipo di file non valido
couldNotDecode: Impossibile decodificare il Codice QR dal file
couldNotFindQrCode: Impossibile trovare il Codice QR nel Codice QR fornito dal file
invalidQrCode: Codice QR non valido
certificateType: Nessun tipo di certificato valido trovato
invalidTestResult: Risultato del test non valido
invalidTestType: Tipo di test non valido
noCameraAccess: Impossibile accedere alla fotocamera. Controlla le autorizzazioni in Impostazioni > Safari > Fotocamera.
noCameraFound: Impossibile trovare la fotocamera.
safariSupportOnly: Su iOS, usa il browser Safari.

View File

@ -0,0 +1,27 @@
heading: Informativa ai sensi dell'articolo 5 TMG
contact: Contatto
euDisputeResolution: Risoluzione delle controversie dell'UE
euDisputeResolutionParagraph: |
La Commissione Europea fornisce una piattaforma per la risoluzione delle controversie online (OS) https://ec.europa.eu/consumers/odr.
Troverai il nostro indirizzo email nelle menzioni sopra.
consumerDisputeResolution: Risoluzione delle controversie in materia di consumo / collegio arbitrale universale
consumerDisputeResolutionParagraph: Non siamo disposti o obbligati a partecipare a procedimenti di risoluzione delle controversie dinanzi a un collegio arbitrale dei consumatori.
liabilityForContents: Responsabilità per i contenuti
liabilityForContentsParagraph: |
In qualità di fornitore di servizi, siamo responsabili dei nostri contenuti su queste pagine ai sensi dell'articolo 7 capoverso 1 TMG secondo le leggi generali.
In conformità con le sezioni da 8 a 10 TMG, non abbiamo alcun obbligo di monitorare le informazioni trasmesse o archiviate o di indagare su circostanze che indicano un'attività illegale.
Gli obblighi di rimuovere o bloccare l'uso delle informazioni ai sensi delle leggi generali rimangono inalterati.
Tuttavia, la responsabilità in questo senso è possibile solo quando viene a conoscenza di una concreta violazione della legge.
Se veniamo a conoscenza di tali violazioni, rimuoveremo immediatamente il relativo contenuto.
liabilityForLinks: Responsabilità per i link
liabilityForLinksParagraph: |
La nostra offerta contiene link a siti web esterni di terzi, sui cui contenuti non abbiamo alcuna influenza.
Pertanto, non possiamo assumerci alcuna responsabilità per questi contenuti esterni.
Il rispettivo fornitore o gestore dei siti è sempre responsabile del contenuto dei siti collegati.
Le pagine collegate sono state controllate per possibili violazioni legali al momento del collegamento.
I contenuti illegali non erano riconoscibili al momento del collegamento.
Tuttavia, un controllo permanente dei contenuti delle pagine collegate non è ragionevole senza prove concrete di una violazione della legge.
Se veniamo a conoscenza di eventuali violazioni, rimuoveremo immediatamente tali collegamenti.
credits: Crediti
creditsSource: Con estratti da https://www.e-recht24.de/impressum-generator.html
creditsTranslation: Tradotto con https://www.DeepL.com/Translator (versione gratuita)

View File

@ -0,0 +1,29 @@
iosHint: Su iOS, si prega di utilizzare il browser Safari.
errorClose: Chiudi
selectCertificate: Seleziona il certificato
selectCertificateDescription: |
Scannerizza il codice QR sul tuo certificato o seleziona uno screenshot o una pagina PDF con il codice QR.
Nota che la selezione di un file direttamente dalla fotocamera non è supportata.
stopCamera: Blocca Fotocamera
startCamera: Avvia Fotocamera
openFile: Selezionare File
foundQrCode: Codice QR trovato!
pickColor: Seleziona un colore
pickColorDescription: Seleziona un colore di sfondo per il certificato.
colorWhite: bianco
colorBlack: nero
colorGrey: grigio
colorGreen: verde
colorIndigo: indaco
colorBlue: blu
colorPurple: viola
colorTeal: verde acqua
addToWallet: Aggiungi a Wallet
dataPrivacyDescription: |
La riservatezza dei dati è di particolare importanza quando si elaborano dati relativi alla salute.
Per poter prendere una decisione informata, si prega di leggere il
iAcceptThe: Accetto il
privacyPolicy: Politica sulla Riservatezza
createdOnDevice: Creato sul tuo dispositivo
openSourceTransparent: Open source e trasparente
hostedInEU: Ospitato nell'UE

View File

@ -0,0 +1,57 @@
gdprNotice: |
La nostra Politica sulla Riservatezza si basa sui termini utilizzati dal legislatore europeo
per l'adozione del Regolamento generale sulla protezione dei dati (GDPR).
generalInfo: Informazione Generale
generalInfoProcess: |
L'intero processo di generazione del file pass avviene localmente nel tuo browser.
Per la fase di firma, al server viene inviata solo una rappresentazione con hash dei tuoi dati.
generalInfoStoring: I tuoi dati non vengono memorizzati oltre la sessione del browser attiva e il sito non utilizza cookie.
generalInfoThirdParties: Nessun dato viene inviato a terzi.
generalInfoHttps: Trasmettiamo i tuoi dati in modo sicuro su https.
generalInfoLocation: Il nostro server è ospitato a Norimberga, in Germania.
generalInfoGitHub: Il codice sorgente di questo sito è disponibile su
generalInfoLockScreen: Per impostazione predefinita, gli abbonamenti Apple Wallet sono accessibili dalla schermata di blocco. Questo può essere modificato in
settings: impostazioni
generalInfoProvider: |
Il provider del server elabora i dati per fornire questo sito.
Per capire meglio quali misure adottano per proteggere i tuoi dati, leggi anche il loro
privacyPolicy: politica sulla riservatezza
andThe: e il
dataPrivacyFaq: domande frequenti sulla privacy dei dati
contact: Contatti
email: Email
website: Sito Web
process: Spiegazione semplificata del processo
processFirst: Innanzitutto, i seguenti passaggi vengono eseguiti localmente nel tuo browser
processSecond: In secondo luogo, i seguenti passaggi avvengono sul nostro server
processThird: Infine, i seguenti passaggi vengono eseguiti localmente nel tuo browser
processRecognizing: Riconoscimento ed estrazione dei dati del codice QR dal certificato selezionato
processDecoding: Decodifica i tuoi dati personali e relativi alla salute dal payload del codice QR
processAssembling: Assemblaggio di un file di pass incompleto dai tuoi dati
processGenerating: Generazione di un file contenente hash dei dati memorizzati nel file pass
processSending: Invio al nostro server solo del file contenente gli hash
processReceiving: Ricezione e controllo degli hash generati localmente
processSigning: Firmare il file contenente gli hash
processSendingBack: Restituire la firma
processCompleting: Assemblaggio del file pass firmato dal file incompleto generato localmente e dalla firma
processSaving: Salvare il file sul tuo dispositivo
locallyProcessedData: Dati elaborati localmente
the: Lo
schema: Schema digitale del Certificato COVID
specification: contiene una specifica dettagliata di quali dati possono essere contenuti nel codice QR e verranno elaborati nel browser.
serverProvider: Fornitore del server
serverProviderIs: Il nostro fornitore di server è
logFiles: I seguenti dati possono essere raccolti e archiviati nei file di registro del server
logFilesBrowser: I tipi e le versioni di browser utilizzati
logFilesOs: Il sistema operativo utilizzato dal sistema di accesso
logFilesReferrer: Il sito web dal quale un sistema di accesso raggiunge il nostro sito web (c.d. referente)
logFilesTime: La data e l'ora di accesso
logFilesIpAddress: Gli indirizzi IP pseudonimizzati
rights: I tuoi diritti
rightsGranted: In conformità con il GDPR hai i seguenti diritti
rightsAccess: Diritto di accesso ai tuoi dati; Hai il diritto di sapere quali dati sono stati raccolti su di te e come sono stati elaborati.
rightsErasure: Diritto all'oblio; Cancellazione dei tuoi dati personali.
rightsRectification: Diritto di rettifica; Hai il diritto di correggere i dati inesatti.
rightsPortability: Diritto alla portabilità dei dati; Hai il diritto di trasferire i tuoi dati da un sistema di elaborazione a un altro.
thirdParties: Terze parti collegate
appleSync: Apple potrebbe sincronizzare i tuoi pass tramite iCloud

View File

@ -24,3 +24,6 @@ dataPrivacyDescription: |
Om een weloverwogen beslissing te kunnen nemen, lees a.u.b. de Om een weloverwogen beslissing te kunnen nemen, lees a.u.b. de
iAcceptThe: Ik accepteer het iAcceptThe: Ik accepteer het
privacyPolicy: Privacybeleid privacyPolicy: Privacybeleid
createdOnDevice: Aangemaakt op uw apparaat
openSourceTransparent: Open source en transparant
hostedInEU: Gehost in de EU