Add Finnish translation
And prep for Finnish site release
This commit is contained in:
parent
3fcf1640f3
commit
2dc38e1b81
|
@ -182,14 +182,14 @@ function Form(): JSX.Element {
|
|||
<div className="relative inline-block w-full">
|
||||
<select name="color" id="color"
|
||||
className="bg-gray-200 dark:bg-gray-900 focus:outline-none w-full h-10 pl-3 pr-6 text-base rounded-md appearance-none cursor-pointer">
|
||||
<option value="white">{t('index:colorWhite')}</option>
|
||||
<option value="black">{t('index:colorBlack')}</option>
|
||||
<option value="grey">{t('index:colorGrey')}</option>
|
||||
<option value="green">{t('index:colorGreen')}</option>
|
||||
<option value="indigo">{t('index:colorIndigo')}</option>
|
||||
<option value="blue">{t('index:colorBlue')}</option>
|
||||
<option value="purple">{t('index:colorPurple')}</option>
|
||||
<option value="teal">{t('index:colorTeal')}</option>
|
||||
<option value="Valkoinen">{t('index:colorWhite')}</option>
|
||||
<option value="Musta">{t('index:colorBlack')}</option>
|
||||
<option value="Harmaa">{t('index:colorGrey')}</option>
|
||||
<option value="Vihreä">{t('index:colorGreen')}</option>
|
||||
<option value="Indigonsininen">{t('index:colorIndigo')}</option>
|
||||
<option value="Sininen">{t('index:colorBlue')}</option>
|
||||
<option value="Purppura">{t('index:colorPurple')}</option>
|
||||
<option value="Sinivihreä">{t('index:colorTeal')}</option>
|
||||
</select>
|
||||
<div className="absolute inset-y-0 right-0 flex items-center px-2 pointer-events-none">
|
||||
<svg className="w-5 h-5 fill-current" viewBox="0 0 20 20">
|
||||
|
|
|
@ -25,8 +25,7 @@ function Page(props: PageProps): JSX.Element {
|
|||
|
||||
<footer>
|
||||
<nav className="nav flex pt-4 flex-row space-x-4 justify-center text-md font-bold flex-wrap">
|
||||
<a href="https://www.paypal.com/paypalme/msextro" className="hover:underline">{t('common:donate')}</a>
|
||||
<a href="https://github.com/marvinsxtr/covidpass" className="hover:underline">{t('common:gitHub')}</a>
|
||||
<a href="https://github.com/jantsop/covidpass" className="hover:underline">{t('common:gitHub')}</a>
|
||||
<Link href="/privacy"><a className="hover:underline">{t('common:privacyPolicy')}</a></Link>
|
||||
<Link href="/imprint"><a className="hover:underline">{t('common:imprint')}</a></Link>
|
||||
</nav>
|
||||
|
|
|
@ -2,9 +2,7 @@ module.exports = {
|
|||
i18n: {
|
||||
defaultLocale: 'en',
|
||||
locales: [
|
||||
'en',
|
||||
'de', 'de-DE', 'de-AT', 'de-LI', 'de-LU', 'de-CH',
|
||||
'fr', 'fr-BE', 'fr-CH', 'fr-FR', 'fr-LU', 'fr-MC'
|
||||
'fi'
|
||||
],
|
||||
localeExtension: 'yml',
|
||||
},
|
||||
|
|
|
@ -1,21 +1,21 @@
|
|||
export default {
|
||||
titleTemplate: 'CovidPass | %s',
|
||||
defaultTitle: 'CovidPass',
|
||||
titleTemplate: 'Korona Passi | %s',
|
||||
defaultTitle: 'Korona Passi',
|
||||
openGraph: {
|
||||
type: 'website',
|
||||
locale: 'en_IE',
|
||||
url: 'https://covidpass.marvinsextro.de/',
|
||||
site_name: 'CovidPass',
|
||||
locale: 'fi_FI',
|
||||
url: 'https://covidpassi.fi',
|
||||
site_name: 'Korona Passi',
|
||||
},
|
||||
twitter: {
|
||||
handle: '@marvinsxtr',
|
||||
site: '@marvinsxtr',
|
||||
handle: '@jantsop',
|
||||
site: '@jantsop',
|
||||
cardType: 'summary_large_image',
|
||||
},
|
||||
additionalLinkTags: [
|
||||
{
|
||||
rel: 'apple-touch-icon',
|
||||
href: 'https://covidpass.marvinsextro.de/apple-touch-icon.png',
|
||||
href: 'https://covidpassi.fi/apple-touch-icon.png',
|
||||
sizes: '180x180'
|
||||
},
|
||||
]
|
||||
|
|
|
@ -13,13 +13,13 @@ function Imprint(): JSX.Element {
|
|||
<div className="space-y-2">
|
||||
<p className="font-bold">{t('imprint:heading')}</p>
|
||||
<p>
|
||||
Marvin Sextro<br />
|
||||
Wilhelm-Busch-Str. 8A<br />
|
||||
30167 Hannover<br />
|
||||
Jantso Porali<br />
|
||||
Rakentajanpolku 3H<br />
|
||||
96960 Rovaniemir<br />
|
||||
</p>
|
||||
<p className="font-bold">{t('imprint:contact')}</p>
|
||||
<p>
|
||||
<a href="mailto:marvin.sextro@gmail.com" className="underline">marvin.sextro@gmail.com</a>
|
||||
<a href="mailto:jantso.porali@gmail.com" className="underline">jantso.porali@gmail.com</a>
|
||||
</p>
|
||||
<p className="font-bold">{t('imprint:euDisputeResolution')}</p>
|
||||
<p>{t('imprint:euDisputeResolutionParagraph')}</p>
|
||||
|
@ -34,6 +34,8 @@ function Imprint(): JSX.Element {
|
|||
{t('imprint:creditsSource')}
|
||||
<br />
|
||||
{t('imprint:creditsTranslation')}
|
||||
<br />
|
||||
{t('imprint:creditsOriginalCode')}
|
||||
</p>
|
||||
</div>
|
||||
}/>
|
||||
|
|
|
@ -22,7 +22,7 @@ function Privacy(): JSX.Element {
|
|||
<li>
|
||||
{t('privacy:generalInfoGitHub')}
|
||||
|
||||
<a href="https://github.com/marvinsxtr/covidpass" className="underline">
|
||||
<a href="https://github.com/jantsop/covidpass" className="underline">
|
||||
GitHub
|
||||
</a>.
|
||||
</li>
|
||||
|
@ -36,13 +36,13 @@ function Privacy(): JSX.Element {
|
|||
<li>
|
||||
{t('privacy:generalInfoProvider')}
|
||||
|
||||
<a href="https://www.hetzner.com/de/rechtliches/datenschutz/" className="underline">
|
||||
<a href="https://www.hetzner.com/rechtliches/datenschutz/" className="underline">
|
||||
{t('privacy:privacyPolicy')}
|
||||
</a>
|
||||
|
||||
{t('privacy:andThe')}
|
||||
|
||||
<a href="https://docs.hetzner.com/general/general-terms-and-conditions/data-privacy-faq/privacy.tsx" className="underline">
|
||||
<a href="https://docs.hetzner.com/general/general-terms-and-conditions/data-privacy-faq" className="underline">
|
||||
{t('privacy:dataPrivacyFaq')}
|
||||
</a>.
|
||||
</li>
|
||||
|
@ -50,16 +50,13 @@ function Privacy(): JSX.Element {
|
|||
</div>
|
||||
<p className="font-bold">{t('privacy:contact')}</p>
|
||||
<p>
|
||||
Marvin Sextro<br/>
|
||||
Wilhelm-Busch-Str. 8A<br/>
|
||||
30167 Hannover<br/>
|
||||
Jantso Porali<br/>
|
||||
Rakentajanpolku 3H<br/>
|
||||
96960 Rovaniemi<br/>
|
||||
{t('privacy:email')}:
|
||||
|
||||
<a href="mailto:marvin.sextro@gmail.com">marvin.sextro@gmail.com</a>
|
||||
<br/>
|
||||
{t('privacy:website')}:
|
||||
|
||||
<a href="https://marvinsextro.de" className="underline">https://marvinsextro.de</a>
|
||||
</p>
|
||||
<p className="font-bold">{t('privacy:process')}</p>
|
||||
<p>{t('privacy:processFirst')}:</p>
|
||||
|
@ -101,11 +98,11 @@ function Privacy(): JSX.Element {
|
|||
<p>{t('privacy:serverProviderIs')}</p>
|
||||
<p>
|
||||
<a href="https://www.hetzner.com/" className="underline">
|
||||
Hetzner Online GmbH
|
||||
Hetzner Finland Oy
|
||||
</a>
|
||||
<br />
|
||||
Industriestr. 25<br />
|
||||
91710 Gunzenhausen<br />
|
||||
Huurrekuja 10<br />
|
||||
04360 Tuusula<br />
|
||||
</p>
|
||||
<p>{t('privacy:logFiles')}:</p>
|
||||
<div className="px-4">
|
||||
|
@ -137,13 +134,6 @@ function Privacy(): JSX.Element {
|
|||
{t('common:privacyPolicy')}
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
PayPal:
|
||||
|
||||
<a href="https://www.paypal.com/de/webapps/mpp/ua/privacy-full?locale.x=en_EN" className="underline">
|
||||
{t('common:privacyPolicy')}
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
Gmail/Google:
|
||||
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
title: Korona Passi
|
||||
subtitle: Lisää EU:n koronatodistus to your favorite wallet apps.
|
||||
privacyPolicy: Tietosuojaselosta
|
||||
gitHub: GitHub
|
||||
imprint: Imprint
|
|
@ -0,0 +1,17 @@
|
|||
noFileOrQrCode: Skannaa QR koodi tai valitse tiedosto
|
||||
signatureFailed: Virhe allekirjoitettaessa passia palvelimella
|
||||
decodingFailed: QR-koodin hyötykuorman purkaminen epäonnistui
|
||||
invalidColor: Väärä väri
|
||||
certificateData: Varmenteen tietojen lukeminen epäonnistui
|
||||
nameMissing: Nimen lukeminen epäonnistui
|
||||
dobMissing: Syntymäaikaa ei onnistuttu lukemaan
|
||||
invalidMedicalProduct: Virheellinen lääkevalmiste
|
||||
invalidCountryCode: Virheellinen maakoodi
|
||||
invalidManufacturer: Virheellinen valmistaja
|
||||
invalidFileType: Virheellinen tiedostotyyppi
|
||||
couldNotDecode: QR-koodia ei voitu purkaa tiedostosta
|
||||
couldNotFindQrCode: QR-koodia ei löytynyt annetusta tiedostosta
|
||||
invalidQrCode: Virheellinen QR-koodi
|
||||
certificateType: Kelvollista varmennetyyppiä ei löytynyt
|
||||
invalidTestResult: Virheellinen testitulos
|
||||
invalidTestType: Virheellinen testityyppi
|
|
@ -0,0 +1,28 @@
|
|||
heading: Information according to § 5 TMG
|
||||
contact: Contact
|
||||
euDisputeResolution: EU Dispute Resolution
|
||||
euDisputeResolutionParagraph: |
|
||||
The European Commission provides a platform for online dispute resolution (OS) https://ec.europa.eu/consumers/odr.
|
||||
You can find our e-mail address in the imprint above.
|
||||
consumerDisputeResolution: Consumer dispute resolution / universal arbitration board
|
||||
consumerDisputeResolutionParagraph: We are not willing or obliged to participate in dispute resolution proceedings before a consumer arbitration board.
|
||||
liabilityForContents: Liability for contents
|
||||
liabilityForContentsParagraph: |
|
||||
As a service provider, we are responsible for our own content on these pages in accordance with § 7 paragraph 1 TMG under the general laws.
|
||||
According to §§ 8 to 10 TMG, we are not obligated to monitor transmitted or stored information or to investigate circumstances that indicate illegal activity.
|
||||
Obligations to remove or block the use of information under the general laws remain unaffected.
|
||||
However, liability in this regard is only possible from the point in time at which a concrete infringement of the law becomes known.
|
||||
If we become aware of any such infringements, we will remove the relevant content immediately.
|
||||
liabilityForLinks: Liability for links
|
||||
liabilityForLinksParagraph: |
|
||||
Our offer contains links to external websites of third parties, on whose contents we have no influence.
|
||||
Therefore, we cannot assume any liability for these external contents.
|
||||
The respective provider or operator of the sites is always responsible for the content of the linked sites.
|
||||
The linked pages were checked for possible legal violations at the time of linking.
|
||||
Illegal contents were not recognizable at the time of linking.
|
||||
However, a permanent control of the contents of the linked pages is not reasonable without concrete evidence of a violation of the law.
|
||||
If we become aware of any infringements, we will remove such links immediately.
|
||||
credits: Credits
|
||||
creditsSource: With excerpts from https://www.e-recht24.de/impressum-generator.html
|
||||
creditsTranslation: Translated with https://www.DeepL.com/Translator (free version)
|
||||
creditsOriginalCode: Alkuperäinen koodi https://github.com/covidpass-org/covidpass
|
|
@ -0,0 +1,26 @@
|
|||
iosHint: Käytä iOS:ssä Safari-selainta.
|
||||
errorClose: Sulje
|
||||
selectCertificate: Valitse todistus
|
||||
selectCertificateDescription: |
|
||||
Skannaa todistuksessa oleva QR-koodi tai valitse kuvakaappaus tai PDF-sivu, jossa on QR-koodi.
|
||||
Huomaa, että tiedoston valitsemista suoraan kamerasta ei tueta.
|
||||
stopCamera: Lopeta Kamera
|
||||
startCamera: Käynnistä Kamera
|
||||
openFile: Valitse Tiedosto
|
||||
foundQrCode: QR koodi löytyi!
|
||||
pickColor: Valitse väri
|
||||
pickColorDescription: Valitse passisi taustaväri.
|
||||
colorWhite: Valkoinen
|
||||
colorBlack: Musta
|
||||
colorGrey: Harmaa
|
||||
colorGreen: Vihreä
|
||||
colorIndigo: Indigonsininen
|
||||
colorBlue: Sininen
|
||||
colorPurple: Purppura
|
||||
colorTeal: Sinivihreä
|
||||
addToWallet: Lisää lompakkoon.
|
||||
dataPrivacyDescription: |
|
||||
Tietosuoja on erityisen tärkeää, kun käsitellään terveyteen liittyviä tietoja.
|
||||
Jotta voisit tehdä tietoon perustuvan päätöksen, lue seuraavat tiedot
|
||||
iAcceptThe: Hyväksyn
|
||||
privacyPolicy: Tietosuojaselosteen
|
|
@ -0,0 +1,57 @@
|
|||
gdprNotice: |
|
||||
Our privacy policy is based on the terms used by the European legislator
|
||||
for the adoption of the General Data Protection Regulation (GDPR).
|
||||
generalInfo: General information
|
||||
generalInfoProcess: |
|
||||
The whole process of generating the pass file happens locally in your browser.
|
||||
For the signing step, only a hashed representation of your data is sent to the server.
|
||||
generalInfoStoring: Your data is not stored beyond the active browser session and the site does not use cookies.
|
||||
generalInfoThirdParties: No data is sent to third parties.
|
||||
generalInfoHttps: We transmit your data securely over https.
|
||||
generalInfoLocation: Our server is hosted in Nuremberg, Germany.
|
||||
generalInfoGitHub: The source code of this site is available on
|
||||
generalInfoLockScreen: By default, Apple Wallet passes are accessible from the lock screen. This can be changed in the
|
||||
settings: settings
|
||||
generalInfoProvider: |
|
||||
The server provider processes data to provide this site.
|
||||
In order to better understand what measures they take to protect your data, please also read their
|
||||
privacyPolicy: privacy policy
|
||||
andThe: and the
|
||||
dataPrivacyFaq: data privacy FAQ
|
||||
contact: Contact
|
||||
email: Email
|
||||
website: Website
|
||||
process: Simplified of the process
|
||||
processFirst: First, the following steps happen locally in your browser
|
||||
processSecond: Second, the following steps happen on our server
|
||||
processThird: Finally, the following steps happen locally in your browser
|
||||
processRecognizing: Recognizing and extracting the QR code data from your selected certificate
|
||||
processDecoding: Decoding your personal and health-related data from the QR code payload
|
||||
processAssembling: Assembling an incomplete pass file out of your data
|
||||
processGenerating: Generating a file containing hashes of the data stored in the pass file
|
||||
processSending: Sending only the file containing the hashes to our server
|
||||
processReceiving: Receiving and checking the hashes which were generated locally
|
||||
processSigning: Signing the file containing the hashes
|
||||
processSendingBack: Sending the signature back
|
||||
processCompleting: Assembling the signed pass file out of the incomplete file generated locally and the signature
|
||||
processSaving: Saving the file on your device
|
||||
locallyProcessedData: Locally processed data
|
||||
the: The
|
||||
schema: Digital Covid Certificate Schema
|
||||
specification: contains a detailed specification of which data can be contained in the QR code and will be processed in your browser.
|
||||
serverProvider: Palveluntarjoaja
|
||||
serverProviderIs: Meidän palveluntarjoaja on
|
||||
logFiles: The following data may be collected and stored in the server log files
|
||||
logFilesBrowser: The browser types and versions used
|
||||
logFilesOs: The operating system used by the accessing system
|
||||
logFilesReferrer: The website from which an accessing system reaches our website (so-called referrers)
|
||||
logFilesTime: The date and time of access
|
||||
logFilesIpAddress: The pseudonymised IP addresses
|
||||
rights: Your rights
|
||||
rightsGranted: In accordance with the GDPR you have the following rights
|
||||
rightsAccess: Right of access to your data; You have the right to know what data has been collected about you and how it was processed.
|
||||
rightsErasure: Right to be forgotten; Erasure of your personal data.
|
||||
rightsRectification: Right of rectification; You have the right to correct inaccurate data.
|
||||
rightsPortability: Right of data portability; You have the right to transfer your data from one processing system into another.
|
||||
thirdParties: Third parties linked
|
||||
appleSync: Apple may sync your passes via iCloud
|
Loading…
Reference in New Issue