From af2edd21b4be2077930e2b62f476be517bb04ec4 Mon Sep 17 00:00:00 2001 From: Fra Date: Mon, 26 Jul 2021 22:06:18 +0200 Subject: [PATCH 1/3] Added full Italian translation --- next-i18next.config.js | 3 +- public/locales/it/common.yml | 6 ++++ public/locales/it/errors.yml | 20 ++++++++++++ public/locales/it/imprint.yml | 27 +++++++++++++++++ public/locales/it/index.yml | 26 ++++++++++++++++ public/locales/it/privacy.yml | 57 +++++++++++++++++++++++++++++++++++ 6 files changed, 138 insertions(+), 1 deletion(-) create mode 100644 public/locales/it/common.yml create mode 100644 public/locales/it/errors.yml create mode 100644 public/locales/it/imprint.yml create mode 100644 public/locales/it/index.yml create mode 100644 public/locales/it/privacy.yml diff --git a/next-i18next.config.js b/next-i18next.config.js index 047606c..20a5c29 100644 --- a/next-i18next.config.js +++ b/next-i18next.config.js @@ -7,7 +7,8 @@ module.exports = { 'fr', 'fr-BE', 'fr-CH', 'fr-FR', 'fr-LU', 'fr-MC', 'nl', 'nl-NL', 'nl-BE', 'fi', 'fi-FI', - 'el', 'el-GR', 'el-CY' + 'el', 'el-GR', 'el-CY', + 'it' ], localeExtension: 'yml', }, diff --git a/public/locales/it/common.yml b/public/locales/it/common.yml new file mode 100644 index 0000000..9fb3542 --- /dev/null +++ b/public/locales/it/common.yml @@ -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 \ No newline at end of file diff --git a/public/locales/it/errors.yml b/public/locales/it/errors.yml new file mode 100644 index 0000000..b8b3752 --- /dev/null +++ b/public/locales/it/errors.yml @@ -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. \ No newline at end of file diff --git a/public/locales/it/imprint.yml b/public/locales/it/imprint.yml new file mode 100644 index 0000000..df9d8a5 --- /dev/null +++ b/public/locales/it/imprint.yml @@ -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) \ No newline at end of file diff --git a/public/locales/it/index.yml b/public/locales/it/index.yml new file mode 100644 index 0000000..4db0ddc --- /dev/null +++ b/public/locales/it/index.yml @@ -0,0 +1,26 @@ +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 \ No newline at end of file diff --git a/public/locales/it/privacy.yml b/public/locales/it/privacy.yml new file mode 100644 index 0000000..4d37e4c --- /dev/null +++ b/public/locales/it/privacy.yml @@ -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 \ No newline at end of file From 9009f51c97860b2c9d366bb4140764863da3bc22 Mon Sep 17 00:00:00 2001 From: Marvin Sextro Date: Tue, 27 Jul 2021 01:45:39 +0200 Subject: [PATCH 2/3] Integrate Italian translation --- next-i18next.config.js | 2 +- public/locales/it-CH | 1 + public/locales/it-IT | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) create mode 120000 public/locales/it-CH create mode 120000 public/locales/it-IT diff --git a/next-i18next.config.js b/next-i18next.config.js index 20a5c29..edbb523 100644 --- a/next-i18next.config.js +++ b/next-i18next.config.js @@ -8,7 +8,7 @@ module.exports = { 'nl', 'nl-NL', 'nl-BE', 'fi', 'fi-FI', 'el', 'el-GR', 'el-CY', - 'it' + 'it', 'it-IT', 'it-CH' ], localeExtension: 'yml', }, diff --git a/public/locales/it-CH b/public/locales/it-CH new file mode 120000 index 0000000..c919714 --- /dev/null +++ b/public/locales/it-CH @@ -0,0 +1 @@ +it \ No newline at end of file diff --git a/public/locales/it-IT b/public/locales/it-IT new file mode 120000 index 0000000..c919714 --- /dev/null +++ b/public/locales/it-IT @@ -0,0 +1 @@ +it \ No newline at end of file From d46f711b5947f36c829706dab6553acd7a630138 Mon Sep 17 00:00:00 2001 From: Marvin Sextro Date: Tue, 27 Jul 2021 03:09:51 +0200 Subject: [PATCH 3/3] Add short version of privacy policy --- components/Check.tsx | 20 ++++++++++++++++++++ components/Form.tsx | 8 ++++++++ pages/imprint.tsx | 2 +- pages/privacy.tsx | 18 +++++++++--------- public/locales/de/index.yml | 5 ++++- public/locales/el/index.yml | 6 +++--- public/locales/en/index.yml | 5 ++++- public/locales/fi/index.yml | 5 ++++- public/locales/fr/index.yml | 3 +++ public/locales/it/index.yml | 5 ++++- public/locales/nl/index.yml | 5 ++++- 11 files changed, 64 insertions(+), 18 deletions(-) create mode 100644 components/Check.tsx diff --git a/components/Check.tsx b/components/Check.tsx new file mode 100644 index 0000000..cd7a3f3 --- /dev/null +++ b/components/Check.tsx @@ -0,0 +1,20 @@ +import {useTranslation} from 'next-i18next'; + +interface CheckProps { + text: string; +} + +function Check(props: CheckProps): JSX.Element { + const { t } = useTranslation(["index"]); + + return ( +
  • + + + + {props.text} +
  • + ) +} + +export default Check; \ No newline at end of file diff --git a/components/Form.tsx b/components/Form.tsx index e053b42..7cf46e7 100644 --- a/components/Form.tsx +++ b/components/Form.tsx @@ -7,6 +7,7 @@ import Link from 'next/link'; import Card from "./Card"; import Alert from "./Alert"; +import Check from './Check'; import {PayloadBody} from "../src/payload"; import {getPayloadBodyFromFile, getPayloadBodyFromQR} from "../src/process"; import {PassData} from "../src/pass"; @@ -238,6 +239,13 @@ function Form(): JSX.Element { .

    +
    +
      + + + +
    +