From 91dd5256e9545f62e4342ae5477c36262d6e3401 Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Sat, 20 Mar 2021 18:47:06 +0100 Subject: [PATCH 01/94] =?UTF-8?q?Fixed=20dupliacate=20mutation=20?= =?UTF-8?q?=F0=9F=90=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/general/Imprint.svelte | 6 ++++-- src/components/general/Privacy.svelte | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/components/general/Imprint.svelte b/src/components/general/Imprint.svelte index 33c878e6..0c81c55e 100644 --- a/src/components/general/Imprint.svelte +++ b/src/components/general/Imprint.svelte @@ -6,13 +6,15 @@ let html = ""; async function load() { let md = await fetch("/imprint_" + getLocaleFromNavigator() + ".md"); - if((await md.text()).includes(" diff --git a/src/components/general/Privacy.svelte b/src/components/general/Privacy.svelte index 0400908c..6ec94a46 100644 --- a/src/components/general/Privacy.svelte +++ b/src/components/general/Privacy.svelte @@ -6,13 +6,15 @@ let html = ""; async function load() { let md = await fetch("/privacy_" + getLocaleFromNavigator() + ".md"); - if((await md.text()).includes(" From e838e6f321bef1565a7e4316890a3c600b242e5a Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Sat, 20 Mar 2021 18:47:28 +0100 Subject: [PATCH 02/94] =?UTF-8?q?=F0=9F=9A=80RELEASE=20v0.8.5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 7 +++++++ index.template.html | 2 +- package.json | 2 +- public/imprint_en.md | 1 - 4 files changed, 9 insertions(+), 3 deletions(-) delete mode 100644 public/imprint_en.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 2686faf4..545074ba 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,9 +2,16 @@ All notable changes to this project will be documented in this file. Dates are displayed in UTC. +#### [0.8.5](https://git.odit.services/lfk/frontend/compare/0.8.4...0.8.5) + +- Fixed dupliacate mutation 🐞 [`91dd525`](https://git.odit.services/lfk/frontend/commit/91dd5256e9545f62e4342ae5477c36262d6e3401) + #### [0.8.4](https://git.odit.services/lfk/frontend/compare/0.8.3...0.8.4) +> 20 March 2021 + - CONFIG: default_username + default_password [`cc926e8`](https://git.odit.services/lfk/frontend/commit/cc926e84fb8bd9d6c9fd37349e25eb802e1bb324) +- 🚀RELEASE v0.8.4 [`3d4dc2d`](https://git.odit.services/lfk/frontend/commit/3d4dc2d72b129f0134ae9f230810c3301dbd5caa) - CONFIG: add 'demo' as default username/password [`ba34710`](https://git.odit.services/lfk/frontend/commit/ba3471068ab00e2d5dbe21d6d763094e662f8347) #### [0.8.3](https://git.odit.services/lfk/frontend/compare/0.8.2...0.8.3) diff --git a/index.template.html b/index.template.html index 7a819098..bfa04135 100644 --- a/index.template.html +++ b/index.template.html @@ -14,7 +14,7 @@ - + diff --git a/package.json b/package.json index 116f1990..60a7a41b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@odit/lfk-frontend", - "version": "0.8.4", + "version": "0.8.5", "scripts": { "i18n-order": "node order.js", "dev:all": "yarn prebuild && snowpack dev", diff --git a/public/imprint_en.md b/public/imprint_en.md deleted file mode 100644 index a56808ce..00000000 --- a/public/imprint_en.md +++ /dev/null @@ -1 +0,0 @@ -Nostrud tempor dolor aute ea excepteur aute mollit elit eiusmod exercitation. Magna laborum pariatur adipisicing pariatur cupidatat exercitation duis aliquip pariatur sint exercitation deserunt labore. Consectetur id laboris dolore nostrud do velit ipsum. Eu laboris velit do commodo ad ea sint ex cillum. Cillum ipsum qui eiusmod laborum mollit sunt dolore incididunt. Cillum sunt culpa veniam voluptate et qui ut magna anim occaecat ut mollit dolor. Duis irure proident eu incididunt dolore sunt nisi aute dolore amet eu fugiat laboris quis. \ No newline at end of file From 5c5ef95d2be65c0e951dcd472113c8ce0593c9e0 Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Tue, 23 Mar 2021 17:13:31 +0100 Subject: [PATCH 03/94] Added basic cards page ref #94 --- src/components/cards/Cards.svelte | 29 ++ src/locales/de.json | 760 +++++++++++++++--------------- src/locales/en.json | 760 +++++++++++++++--------------- 3 files changed, 791 insertions(+), 758 deletions(-) create mode 100644 src/components/cards/Cards.svelte diff --git a/src/components/cards/Cards.svelte b/src/components/cards/Cards.svelte new file mode 100644 index 00000000..d51d5f53 --- /dev/null +++ b/src/components/cards/Cards.svelte @@ -0,0 +1,29 @@ + + +
+ + {$_('cards')} + {#if store.state.jwtinfo.userdetails.permissions.includes('CARD:CREATE')} + + {/if} + + +
+ +{#if store.state.jwtinfo.userdetails.permissions.includes('CARD:CREATE')} + +{/if} diff --git a/src/locales/de.json b/src/locales/de.json index cbde06c3..47a68a28 100644 --- a/src/locales/de.json +++ b/src/locales/de.json @@ -1,380 +1,382 @@ { - "404message": "Die gesuchte Seite wurde leider nicht gefunden.", - "404title": "Fehler 404", - "about": "Über", - "action": "Aktionen", - "active": "Aktiv", - "add-donation": "Sponsoring erstellen", - "add-donor": "Sponsor:in erstellen", - "add-scan": "Scan erstellen", - "add-the-first-scanstation": "Erstelle deine erste Scannerstation.", - "add-user-group": "Neue Gruppe erstellen", - "add-your-first-contact": "Erstelle den ersten Kontakt", - "add-your-first-donor": "Erstelle die erste Sponsor:in", - "add-your-first-group": "Erstelle die erste Gruppe", - "add-your-first-organization": "Erstelle die erste Organisation", - "add-your-first-runner": "Erstelle die erste LĂ€ufer:in", - "add-your-first-team": "Erstelle das erste Team", - "add-your-first-track": "Erstelle den ersten Track (Laufstrecke).", - "add-your-first-user": "Erstelle die erste Benutzer:in", - "add-your-fist-donation": "Erstelle dein erstes Sponsoring", - "add-your-fist-scan": "FĂŒge deinen ersten Scan hinzu", - "adding-scan": "Scan wird hinzugefĂŒgt", - "address": "Adresse", - "address-is-required": "Du musst eine Adresse angeben", - "after-deletion-we-cant-restore-your-old-profile": "Nach der Löschung können auch die Admins dein Profil nicht wiederherstellen!", - "after-the-update-youll-get-logged-out-please-login-with-your-new-password-after-that": "Nach der Änderung wirst du abgemeldet - bitte melde dich dann mit deinem neuen Passwort an.", - "all-associated-donations-will-get-deleted-as-well": "Alle Sponsorings dieser Sponsor:in werden ebenfalls gelöscht", - "all-associated-runners-will-be-deleted-too": "Alle zugehörigen LĂ€ufer:innen werden auch gelöscht!", - "all-associated-teams-and-runners-will-be-deleted-too": "Alle assoziierten Teams und LĂ€ufer:innen werden auch gelöscht!", - "amount-per-kilometer": "Betrag pro Kilometer", - "apartment-suite-etc": "Apartment, Wohnung, etc.", - "application_name": "Lauf fĂŒr Kaya! - Admin", - "applying-changes": "Änderungen anwenden", - "attention": "Achtung!", - "author": "Autor:in", - "bitte-bestaetige-diese-laeufer-fuer-den-import": "Bitte die LĂ€ufer:innen fĂŒr den Import bestĂ€tigen.", - "by": "von", - "cancel": "Abbrechen", - "cancel-delete": "Löschen abbrechen", - "cancel-keep-donor": "Abbrechen, Sponsor:in behalten", - "cancel-keep-my-profile": "Abbrechen, mein Profil behalten", - "cancel-keep-organization": "Abbrechen und Organisation bearbeiten", - "cancel-keep-team": "Abbrechen, Team behalten", - "cannot-reset-your-password-directly": "Schade. \nWir können das Passwort leider nicht direkt zurĂŒcksetzen.\nBitte sende uns eine Mail in der du deine IdentitĂ€t bestĂ€tigst.", - "change-your-password-here": "Hier kannst du dein Passwort Ă€ndern", - "changing-your-password": "Passwort wird geĂ€ndert", - "city": "Stadt", - "close": "Schließen", - "configure-the-tracks-and-minimum-lap-times": "Bearbeite die Tracks und ihre minimale Rundenzeit", - "confirm": "BestĂ€tigen", - "confirm-delete": "Löschung BestĂ€tigen", - "confirm-delete-donor-with-all-donations": "BestĂ€tigen, Sponsor:in mit allen Sponsorings löschen", - "confirm-delete-my-user-profile": "BestĂ€tigung, mein Benutzerprofil löschen", - "confirm-delete-organization-and-associated-teams-runners": "BestĂ€tugung, lösche die Organisation und alle zugehörigen Teams und LĂ€ufer:innen.", - "confirm-delete-team-and-associated-runners": "BestĂ€tigung, lösche das Team mitsamt seinen LĂ€ufer:innen.", - "confirm-deletion": "Löschung BestĂ€tigen", - "confirm-the-new-password": "Neues Passwort bestĂ€tigen", - "contact": "Kontakt", - "contact-deleted": "Kontakt gelöscht", - "contact-information": "Kontaktinformation", - "contact-is-being-updated": "Kontakt wird aktualisiert ...", - "contact-is-not-a-member-in-any-group": "Kontakt gehört zu keiner Gruppe", - "contacts": "Kontakte", - "contacts-are-being-loaded": "Kontakte werden geladen ...", - "count_organizations": "Organisationen (Anzahl)", - "count_teams": "Teams (Anzahl)", - "create": "Erstellen", - "create-a-new": "Erstelle eine neue", - "create-a-new-contact": "Kontakt erstellen", - "create-a-new-distance-donation": "Erstelle ein neues Sponsoring", - "create-a-new-donor": "Neue Sponsor:in erstellen", - "create-a-new-fixed-donation": "Erstelle eine neue Festbetragsspende", - "create-a-new-organization": "Neue Organisation anlegen", - "create-a-new-runner": "Neue LĂ€ufer:in erstellen", - "create-a-new-scan-fixed-only": "Neuen Scan erstellen (nur mit Festdistanz)", - "create-a-new-scanstation": "Neue Station erstellen", - "create-a-new-team": "Erstelle ein neues Team", - "create-a-new-track": "Neuen Track erstellen", - "create-a-new-user": "Neue Benutzer:in anlegen", - "create-a-new-user-group": "Erstelle eine neue Gruppe", - "create-organization": "Organisation erstellen", - "create-team": "Team erstellen", - "create-track": "Track erstellen", - "create-user": "Benutzer anlegen", - "credits": "Credits", - "csv_import__class": "Klasse", - "csv_import__firstname": "Vorname", - "csv_import__lastname": "Nachname", - "csv_import__middlename": "Mittelname", - "csv_import__team": "Team", - "danger-zone": "Gefahrenzone", - "dashboard-greeting": "Hallo", - "dashboard-title": "Dashboard", - "datatable": { - "search": "🔍 Suche ...", - "an_error_happened_while_fetching_the_data": "Beim Abrufen der Daten ist ein Fehler aufgetreten", - "loading": "Wird geladen...", - "next": "NĂ€chste", - "of": "von", - "previous": "Vorherige", - "to": "bis", - "showing": "Zeige", - "no_matching_records_found": "Keine passenden EintrĂ€ge gefunden", - "page": "Seite", - "records": "EintrĂ€ge", - "sort_column_ascending": "Spalte aufsteigend sortieren", - "sort_column_descending": "Spalte absteigend sortieren" - }, - "delete": "Löschen", - "delete-contact": "Kontakt löschen", - "delete-donation": "Sponsporing löschen", - "delete-donor": "Sponsor:in löschen", - "delete-group": "Gruppe löschen", - "delete-organization": "Organisation löschen", - "delete-profile": "Profil löschen", - "delete-runner": "LĂ€ufer:in löschen", - "delete-scan": "Scan löschen", - "delete-station": "Station löschen", - "delete-team": "Team Löschen", - "delete-user": "Benutzer:in löschen", - "deleted-scan": "Scan wurde gelöscht", - "dependency_name": "Name", - "description": "Beschreibung", - "description-optional": "Beschreibung (optional)", - "deselect-all": "Alle abwĂ€hlen", - "details": "Details", - "distance": "Distanz", - "distance-donation": "Sponsoring", - "distance-in-km": "Distanz (in KM)", - "distance-track": "Distanz (+Track)", - "do-you-really-want-to-delete-your-profile": "Möchtest du dein Profil wirklich löschen?", - "do-you-want-to-delete-the-organization-delete_org-name": "Möchtest du die Organisation {orgname} löschen?", - "do-you-want-to-delete-the-team-delete_team-name": "Möchtest du das Team {teamname} löschen?", - "do-you-want-to-delete-this-donor-with-all-related-donations": "Möchtest du diese Sponsor:in mit all ihren Sponsorings löschen?", - "documentation": "Dokumentation", - "donation-amount": "Sponsoringbetrag", - "donation-amount-must-be-greater-that-0-00eur": "Der Sponsoringbetrag muss grĂ¶ĂŸer als 0.00€ sein.", - "donations": "Sponsorings", - "donor": "Sponsor:in", - "donor-added": "Sponsor:in hinzugefĂŒgt", - "donor-deleted": "Sponsor:in gelöscht", - "donor-has-no-associated-donations": "Zur Sponsor:in gibt es noch keine Sponsorings", - "donor-is-being-added": "Sponsor:in wird hinzugefĂŒgt...", - "donor-is-being-updated": "Sponsor:in wird aktualisiert", - "donors": "Sponsor:innen", - "donors-are-being-loaded": "Sponsor:innen werden geladen", - "dont-have-your-email-connected": "Deine E-Mail ist nicht verknĂŒpft?", - "dont-panic-were-resetting-it": "Keine Panik, wir setzen es zurĂŒck ✌", - "e-mail-adress": "E-Mail-Adresse", - "edit": "Bearbeiten", - "edit-permissions": "Berechtigungen bearbeiten", - "email_address_or_username": "E-Mail-Adresse/ Benutzername", - "enabled": "aktiviert", - "english": "Englisch", - "error_on_login": "😱Fehler beim Login", - "erteilte": "Direkt erteilte", - "everything-concerning-your-profile": "Alles zu deinem Profil", - "everything-is-more-fun-together": "Im Team macht's mehr Spaß đŸƒâ€â™‚ïžđŸƒâ€â™€ïžđŸƒâ€â™‚ïž", - "faq": "FAQ", - "filter-by-organization-team": "Filtern nach Organisation / Team", - "first-name": "Vorname", - "first-name-is-required": "Vorname muss angegeben werden", - "first-scan-of-the-day": "Erster Scan des Tages", - "fixed-donation": "Festbetragsspende", - "forgot_password": "Passwort vergessen?", - "geerbte": "geerbte", - "general-stats": "Allgemeine Statistiken", - "general_promise_error": "😱 Ein unbekannter Fehler ist aufgetreten", - "generate-sponsoring-contract": "Sponsoringvertrag generieren", - "generate-sponsoring-contracts": "SponsoringvertrĂ€ge generieren", - "generating-pdf": "Pdf wird generiert...", - "generating-pdfs": "PDFs werden generiert...", - "generic-ui-logic-error": "Etwas ist in der BenutzeroberflĂ€che schiefgelaufen.", - "german": "Deutsch", - "go-to-login": "Zum Login", - "goback": "Zur Startseite", - "granted": "GewĂ€hrt", - "group": "Gruppe", - "group-added": "Gruppe hinzugefĂŒgt", - "group-is-being-added": "Gruppe wird erstellt", - "group-name-is-required": "Der Gruppenname muss angegeben werden.", - "group-updated": "Gruppe aktualisiert", - "groups": "Gruppen", - "groups-are-being-loaded": "Gruppen werden geladen", - "home": "Start", - "icon-image-credits": "Wir möchten uns außerdem fĂŒr die verwendeten Icons und Bilder bedanken bei:", - "import-finished": "Import abgeschlossen", - "import-runners": "LĂ€ufer:innen importieren", - "import__target-organization": "Ziel Organisation", - "imprint": "Impressum ", - "imprint-loading": "Impressum lĂ€dt...", - "inactive": "Inaktiv", - "installed-version": "Installierte Version", - "internal-error": "Interner Fehler", - "invalid": "UngĂŒltig", - "invalid-mail-reset": "Das ist keine gĂŒltige E-Mail", - "laeufer-hinzufuegen": "LĂ€ufer:in hinzufĂŒgen", - "laeufer-importieren": "LĂ€ufer:innen importieren", - "laptime": "Rundenzeit", - "last-name": "Nachname", - "last-name-is-required": "Nachname muss angegeben werden", - "lfk-is-os": "Das \"Lauf fĂŒr Kaya!\" Frontend ist (wie alle anderen Projekte fĂŒr den \"LfK!\" auch) ein OpenSource Projekt.", - "license": "Lizenz", - "licenses-are-being-loaded": "Lizenzen werden geladen...", - "loading-contact-details": "Kontaktdaten werden geladen ...", - "loading-donation-details": "Lade Sponsoringdetails", - "loading-donor-details": "Lade Details", - "loading-group-detail": "Lade Gruppendetails...", - "loading-profile-data": "Lade Profildaten", - "loading-runners": "LĂ€ufer:innen werden geladen...", - "loading-station-details": "Lade Scanstation-Details ...", - "log_in": "Anmelden", - "log_in_to_your_account": "Bitte melde dich an", - "login_is_checked": "Login wird ĂŒberprĂŒft", - "logout": "Abmelden", - "mail-validation-in-progress": "E-Mail Verifizierung lĂ€uft... ", - "manage-admin-users": "Nutzer verwalten", - "middle-name": "Mittelname", - "minimum-lap-time-in-s": "Minimale Rundenzeit (in Sekunden)", - "minimum-lap-time-must-be-a-positive-number-or-0": "Die minimale Rundenzeit muss eine positive Zahl oder 0 sein", - "name": "Name", - "name-is-required": "Der Gruppenname muss angegeben werden", - "new-password": "Neues Passwort", - "no-contact-found": "Keine Kontakte gefunden", - "no-contact-selected": "Kein Kontakt ausgewĂ€hlt", - "no-contact-specified": "Kein Kontakt angegeben", - "no-donors-found": "Keine Spender:innen gefunden", - "no-license-text-could-be-found": "Kein Lizenz-Text gefunden 😱", - "no-organization-or-team-found": "Keine Organisationen oder Teams gefunden", - "no-organization-specified": "Keine Organisation angegeben", - "no-organizations-found": "Keine Organisationen gefunden", - "no-runners-found": "Keine LĂ€ufer:innen gefunden", - "no-tracks-added-yet": "Es wurden noch keine Tracks erstellt.", - "organization": "Organisation", - "organization-added": "Organisation hinzugefĂŒgt", - "organization-deleted": "Organisation gelöscht", - "organization-detail-is-being-loaded": "Organisationsdetails werden geladen ...", - "organization-is-being-added": "Organisation wird hinzugefĂŒgt ...", - "organization-name-is-required": "Der Name muss angegeben werden", - "organizations": "Organisationen", - "organizations-are-being-loaded": "Organisationen werden geladen ...", - "orgs": "Organisationen", - "oss_credit_description": "Wir verwenden eine Menge Open Source-Software bei diesen Projekten und möchten uns bei den folgenden Projekten und Mitwirkenden bedanken, die dazu beitragen, Open Source großartig zu machen!", - "password": "Passwort", - "password-changed": "Passwort wurde aktualisiert!", - "password-is-required": "Passwort muss angegeben werden", - "password-reset-failed": "Passwort zurĂŒcksetzen ist fehlgeschlagen!", - "password-reset-in-progress": "Passwort wird zurĂŒckgesetzt...", - "password-reset-mail-sent": "Passwort-Reset Mail wurde an \"{usersEmail}\" geschickt.", - "password-reset-successful": "Passwort erfolgreich zurĂŒckgesetzt!", - "passwords-dont-match": "Die Passwörter stimmen nicht ĂŒberein.", - "pdf-generation-failed": "PDF Generierung fehlgeschlagen!", - "pdf-successfully-generated": "PDF wurde erfolgreich generiert!", - "pdfs-successfully-generated": "Alle PDFs wurden generiert!", - "per-kilometer": "pro Kilometer", - "permissions": "Berechtigungen", - "permissions-updated": "Berechtigungen aktualisiert!", - "phone": "Telefon", - "please-provide-a-password": "Bitte gebe ein Passwort an...", - "please-provide-the-nessecary-information-to-add-a-new-donor": "Bitte mach die Notwendigen Angaben, um eine neue Sponsor:in zu erstellen", - "please-provide-the-nessecary-information-to-create-a-new-donation": "Bitte gebe alle fĂŒr das Sponsoring notwendigen Daten an.", - "please-provide-the-nessecary-information-to-create-a-new-scan": "Bitte gebe alle notwendigen Informationen an, um einen neuen Scan zu erstellen.", - "please-provide-the-required-csv-xlsx-file": "Bitte eine CSV oder XLSX Datei hochladen.", - "please-provide-the-required-information-for-creating-a-new-user-group": "Bitte gebe alle fĂŒr eine neue Gruppe notwendigen Informationen an.", - "please-provide-the-required-information-to-add-a-new-contact": "Bitte gebe alle nötigen Informationen an, im den neuen Kontakt zu erstellen.", - "please-provide-the-required-information-to-add-a-new-organization": "Bitte gebe alle nötigen Informationen an, im die neue Organisation zu erstellen.", - "please-provide-the-required-information-to-add-a-new-runner": "Bitte die benötigten Informationen angeben.", - "please-provide-the-required-information-to-add-a-new-team": "Bitte gebe alle nötigen Informationen an, im das neue Team zu erstellen.", - "please-provide-the-required-information-to-add-a-new-track": "Bitte die benötigten Informationen angeben.", - "please-provide-the-required-information-to-add-a-new-user": "Bitte gebe alle nötigen Informationen an, im die neue Benutzer:in zu erstellen.", - "please-request-a-new-reset-mail": "Bitte eine neue Passwortreset-Mail anfordern...", - "privacy": "Datenschutz", - "privacy-loading": "DatenschutzerklĂ€rung lĂ€dt...", - "profile": "Profil", - "profile-picture": "Profilbild", - "profile-updated": "Profil wurde aktualisiert!", - "read-license": "Lizenz-Text lesen", - "receipt-needed": "Spendenquittung benötigt", - "repo_link": "Link", - "request-a-new-reset-mail": "Neue Reset-Mail anfordern", - "reset-my-password": "Passwort zurĂŒcksetzen", - "reset-password": "Passwort zurĂŒcksetzen", - "runner": "LĂ€ufer:in", - "runner-added": "LĂ€ufer:in hinzugefĂŒgt", - "runner-import": "LĂ€ufer:innen Import", - "runner-is-being-added": "LĂ€ufer:in wird hinzugefĂŒgt...", - "runner-updated": "LĂ€ufer:in aktualisiert!", - "runnerimport_verify_runners_org": "Bitte die LĂ€ufer:innen fĂŒr den Import in die Organisation \"{org_name}\" bestĂ€tigen", - "runners": "LĂ€ufer", - "runners-are-being-imported": "LĂ€ufer:innen werden importiert ...", - "runners-are-being-loaded": "LĂ€ufer:innen werden geladen ...", - "save": "Speichern", - "save-changes": "Änderungen speichern", - "scan-added": "Scan hinzugefĂŒgt", - "scan-is-being-updated": "Scan wird aktualisiert", - "scan-with-fixed-distance": "Scan mit Festdistanz", - "scans": "Scans", - "scans-are-being-loaded": "Scans werden geladen", - "scanstation": "Scanner Station", - "scanstations": "Scanner Stationen", - "scanstations-are-being-loaded": "Scannerstationen werden geladen...", - "search-for-an-organization-by-name-or-id": "Suche eine Organisation (via Name oder Id)", - "search-for-an-organization-or-team-by-name-or-id": "Suche eine Organisation oder ein Team (via Name oder Id)", - "search-for-donor-name-or-id": "Suche eine Spender:in (via Name oder Id)", - "search-for-permission": "Berechtigungen durchsuchen", - "search-for-runner-by-name-or-id": "Suche eine LĂ€ufer:in (via Name oder Id)", - "select-all": "Alle auswĂ€hlen", - "select-language": "Sprache auswĂ€hlen", - "send-a-mail-to-lfk-odit-services": "Sende eine Mail an lfk@odit.services", - "set-the-user-active-inactive": "Den Benutzer auf (in)aktiv setzen", - "settings": "Einstellungen", - "settings-for-your-profile": "Die Einstellungen deines Accounts", - "something-about-the-group": "Infos zur Gruppe", - "stats-are-being-loaded": "Die Statistiken werden geladen...", - "status": "Status", - "stuff-that-could-harm-your-profile": "Einstellungen, die deinem Profil nachhaltig schaden können", - "successful-password-reset": "Passwort erfolgreich zurĂŒckgesetzt!", - "team": "Team", - "team-detail-is-being-loaded": "Team wird geladen...", - "team-name": "Teamname", - "team-name-is-required": "Teamname ist erforderlich", - "teams": "Teams", - "teams-are-being-loaded": "Teams werden geladen ...", - "the-provided-phone-number-is-invalid-less-than-br-greater-than-please-enter-a-valid-international-number": "Die angegebene Telefonnummer ist nicht korrekt.
Bitte gebe eine Telefonnummer im internationalen Format an...", - "the-scans-distance-must-be-greater-than-0m": "Die Distanz muss grĂ¶ĂŸer als 0m sein.", - "there-are-no-contacts-added-yet": "Es wurden noch keine Kontakte hinzugefĂŒgt.", - "there-are-no-donations-yet": "Es gibt noch keine Sponsorings", - "there-are-no-donors-yet": "Es gibt noch keine Sponsor:innen", - "there-are-no-groups-yet": "Es gibt noch keine Gruppen", - "there-are-no-organizations-added-yet": "Es wurden noch keine Organisationen hinzugefĂŒgt.", - "there-are-no-runners-added-yet": "Es wurden noch keine LĂ€ufer:innen hinzugefĂŒgt.", - "there-are-no-scans-yet": "Es gibt noch keine Scans", - "there-are-no-teams-added-yet": "Es wurden noch keine Teams hinzugefĂŒgt.", - "there-are-no-users-added-yet": "Es wurden noch keine Benutzer hinzugefĂŒgt.", - "this-might-take-a-moment": "Das könnte einen kleinen Moment dauern", - "this-scanstation-is": "Diese Station ist", - "total-distance": "gelaufene Strecke", - "total-donation-amount": "Gesamtbetrag", - "total-donations": "Spendensumme", - "total-scans": "gesamte Scans", - "track": "Track", - "track-added": "Track hinzugefĂŒgt", - "track-data-is-being-loaded": "Trackdaten werden geladen", - "track-is-being-added": "Track wird hinzugefĂŒgt...", - "track-length-in-m": "TracklĂ€nge (in Metern)", - "track-length-must-be-greater-than-0": "Die LĂ€nge muss grĂ¶ĂŸer als 0 (Meter) sein", - "track-name": "Trackname", - "track-name-must-not-be-empty": "Der Name muss angegeben werden", - "tracks": "Tracks", - "update-password": "Passwort Ă€ndern", - "updated-contact": "Kontakt aktualisiert!", - "updated-donor": "Sponsor:in wurde aktualisiert", - "updated-organization": "Organisation wurde aktualisiert", - "updated-scan": "Scan wurde aktualisiert", - "updateing-group": "Gruppe wird aktualisiert...", - "updating-organization": "Organisation wird aktualisiert", - "updating-permissions": "Berechtigungen werden aktualisiert...", - "updating-runner": "LĂ€ufer:in wird aktualisiert.", - "updating-user": "Benutzer:in wird aktualisiert...", - "updating-your-profile": "Profil wird aktualisiert...", - "user-added": "Benutzer hinzugefĂŒgt", - "user-groups": "Benutzergruppen", - "user-is-being-added": "Benutzer wird hinzugefĂŒgt ...", - "user-updated": "Benutzer:in wurde aktualisiert", - "username": "Benutzername", - "users": "Benutzer", - "valid": "GĂŒltig", - "valid-city-is-required": "Du musst eine Stadt angeben", - "valid-email-is-required": "Es wird eine valide E-Mail Adresse benötigt", - "valid-international-phone-number-is-required": "Du musst eine Telefonnummer im internationalen Format angeben...", - "valid-zipcode-postal-code-is-required": "Du musst eine valide Postleitzahl angeben", - "verfuegbare": "VerfĂŒgbar", - "welcome_wavinghand": "Willkommen 👋", - "yes-i-copied-the-token": "Ja, ich habe den Token kopiert", - "you-are-going-to-loose-all-permissions-and-access-to-the-runner-system": "Du wirst all deine Berechtigungen und den Zugriff aufs LĂ€ufersystem verlieren!", - "you-can-now-use-your-new-password-to-log-in-to-your-account": "Du kannst dich jetzt mit deinem neuen Passwort anmelden! 🎉", - "you-dont-have-any-scanstations-yet": "Es gibt noch keine Scannerstationen", - "you-have-to-provide-an-organization": "Du musst eine Organisation angeben", - "zip-postal-code": "Postleitzahl" -} \ No newline at end of file + "404message": "Die gesuchte Seite wurde leider nicht gefunden.", + "404title": "Fehler 404", + "about": "Über", + "action": "Aktionen", + "active": "Aktiv", + "add-donation": "Sponsoring erstellen", + "add-donor": "Sponsor:in erstellen", + "add-scan": "Scan erstellen", + "add-the-first-scanstation": "Erstelle deine erste Scannerstation.", + "add-user-group": "Neue Gruppe erstellen", + "add-your-first-contact": "Erstelle den ersten Kontakt", + "add-your-first-donor": "Erstelle die erste Sponsor:in", + "add-your-first-group": "Erstelle die erste Gruppe", + "add-your-first-organization": "Erstelle die erste Organisation", + "add-your-first-runner": "Erstelle die erste LĂ€ufer:in", + "add-your-first-team": "Erstelle das erste Team", + "add-your-first-track": "Erstelle den ersten Track (Laufstrecke).", + "add-your-first-user": "Erstelle die erste Benutzer:in", + "add-your-fist-donation": "Erstelle dein erstes Sponsoring", + "add-your-fist-scan": "FĂŒge deinen ersten Scan hinzu", + "adding-scan": "Scan wird hinzugefĂŒgt", + "address": "Adresse", + "address-is-required": "Du musst eine Adresse angeben", + "after-deletion-we-cant-restore-your-old-profile": "Nach der Löschung können auch die Admins dein Profil nicht wiederherstellen!", + "after-the-update-youll-get-logged-out-please-login-with-your-new-password-after-that": "Nach der Änderung wirst du abgemeldet - bitte melde dich dann mit deinem neuen Passwort an.", + "all-associated-donations-will-get-deleted-as-well": "Alle Sponsorings dieser Sponsor:in werden ebenfalls gelöscht", + "all-associated-runners-will-be-deleted-too": "Alle zugehörigen LĂ€ufer:innen werden auch gelöscht!", + "all-associated-teams-and-runners-will-be-deleted-too": "Alle assoziierten Teams und LĂ€ufer:innen werden auch gelöscht!", + "amount-per-kilometer": "Betrag pro Kilometer", + "apartment-suite-etc": "Apartment, Wohnung, etc.", + "application_name": "Lauf fĂŒr Kaya! - Admin", + "applying-changes": "Änderungen anwenden", + "attention": "Achtung!", + "author": "Autor:in", + "bitte-bestaetige-diese-laeufer-fuer-den-import": "Bitte die LĂ€ufer:innen fĂŒr den Import bestĂ€tigen.", + "by": "von", + "cancel": "Abbrechen", + "cancel-delete": "Löschen abbrechen", + "cancel-keep-donor": "Abbrechen, Sponsor:in behalten", + "cancel-keep-my-profile": "Abbrechen, mein Profil behalten", + "cancel-keep-organization": "Abbrechen und Organisation bearbeiten", + "cancel-keep-team": "Abbrechen, Team behalten", + "cannot-reset-your-password-directly": "Schade. \nWir können das Passwort leider nicht direkt zurĂŒcksetzen.\nBitte sende uns eine Mail in der du deine IdentitĂ€t bestĂ€tigst.", + "change-your-password-here": "Hier kannst du dein Passwort Ă€ndern", + "changing-your-password": "Passwort wird geĂ€ndert", + "city": "Stadt", + "close": "Schließen", + "configure-the-tracks-and-minimum-lap-times": "Bearbeite die Tracks und ihre minimale Rundenzeit", + "confirm": "BestĂ€tigen", + "confirm-delete": "Löschung BestĂ€tigen", + "confirm-delete-donor-with-all-donations": "BestĂ€tigen, Sponsor:in mit allen Sponsorings löschen", + "confirm-delete-my-user-profile": "BestĂ€tigung, mein Benutzerprofil löschen", + "confirm-delete-organization-and-associated-teams-runners": "BestĂ€tugung, lösche die Organisation und alle zugehörigen Teams und LĂ€ufer:innen.", + "confirm-delete-team-and-associated-runners": "BestĂ€tigung, lösche das Team mitsamt seinen LĂ€ufer:innen.", + "confirm-deletion": "Löschung BestĂ€tigen", + "confirm-the-new-password": "Neues Passwort bestĂ€tigen", + "contact": "Kontakt", + "contact-deleted": "Kontakt gelöscht", + "contact-information": "Kontaktinformation", + "contact-is-being-updated": "Kontakt wird aktualisiert ...", + "contact-is-not-a-member-in-any-group": "Kontakt gehört zu keiner Gruppe", + "contacts": "Kontakte", + "contacts-are-being-loaded": "Kontakte werden geladen ...", + "count_organizations": "Organisationen (Anzahl)", + "count_teams": "Teams (Anzahl)", + "create": "Erstellen", + "create-a-new": "Erstelle eine neue", + "create-a-new-contact": "Kontakt erstellen", + "create-a-new-distance-donation": "Erstelle ein neues Sponsoring", + "create-a-new-donor": "Neue Sponsor:in erstellen", + "create-a-new-fixed-donation": "Erstelle eine neue Festbetragsspende", + "create-a-new-organization": "Neue Organisation anlegen", + "create-a-new-runner": "Neue LĂ€ufer:in erstellen", + "create-a-new-scan-fixed-only": "Neuen Scan erstellen (nur mit Festdistanz)", + "create-a-new-scanstation": "Neue Station erstellen", + "create-a-new-team": "Erstelle ein neues Team", + "create-a-new-track": "Neuen Track erstellen", + "create-a-new-user": "Neue Benutzer:in anlegen", + "create-a-new-user-group": "Erstelle eine neue Gruppe", + "create-organization": "Organisation erstellen", + "create-team": "Team erstellen", + "create-track": "Track erstellen", + "create-user": "Benutzer anlegen", + "credits": "Credits", + "csv_import__class": "Klasse", + "csv_import__firstname": "Vorname", + "csv_import__lastname": "Nachname", + "csv_import__middlename": "Mittelname", + "csv_import__team": "Team", + "danger-zone": "Gefahrenzone", + "dashboard-greeting": "Hallo", + "dashboard-title": "Dashboard", + "datatable": { + "search": "🔍 Suche ...", + "an_error_happened_while_fetching_the_data": "Beim Abrufen der Daten ist ein Fehler aufgetreten", + "loading": "Wird geladen...", + "next": "NĂ€chste", + "of": "von", + "previous": "Vorherige", + "to": "bis", + "showing": "Zeige", + "no_matching_records_found": "Keine passenden EintrĂ€ge gefunden", + "page": "Seite", + "records": "EintrĂ€ge", + "sort_column_ascending": "Spalte aufsteigend sortieren", + "sort_column_descending": "Spalte absteigend sortieren" + }, + "delete": "Löschen", + "delete-contact": "Kontakt löschen", + "delete-donation": "Sponsporing löschen", + "delete-donor": "Sponsor:in löschen", + "delete-group": "Gruppe löschen", + "delete-organization": "Organisation löschen", + "delete-profile": "Profil löschen", + "delete-runner": "LĂ€ufer:in löschen", + "delete-scan": "Scan löschen", + "delete-station": "Station löschen", + "delete-team": "Team Löschen", + "delete-user": "Benutzer:in löschen", + "deleted-scan": "Scan wurde gelöscht", + "dependency_name": "Name", + "description": "Beschreibung", + "description-optional": "Beschreibung (optional)", + "deselect-all": "Alle abwĂ€hlen", + "details": "Details", + "distance": "Distanz", + "distance-donation": "Sponsoring", + "distance-in-km": "Distanz (in KM)", + "distance-track": "Distanz (+Track)", + "do-you-really-want-to-delete-your-profile": "Möchtest du dein Profil wirklich löschen?", + "do-you-want-to-delete-the-organization-delete_org-name": "Möchtest du die Organisation {orgname} löschen?", + "do-you-want-to-delete-the-team-delete_team-name": "Möchtest du das Team {teamname} löschen?", + "do-you-want-to-delete-this-donor-with-all-related-donations": "Möchtest du diese Sponsor:in mit all ihren Sponsorings löschen?", + "documentation": "Dokumentation", + "donation-amount": "Sponsoringbetrag", + "donation-amount-must-be-greater-that-0-00eur": "Der Sponsoringbetrag muss grĂ¶ĂŸer als 0.00€ sein.", + "donations": "Sponsorings", + "donor": "Sponsor:in", + "donor-added": "Sponsor:in hinzugefĂŒgt", + "donor-deleted": "Sponsor:in gelöscht", + "donor-has-no-associated-donations": "Zur Sponsor:in gibt es noch keine Sponsorings", + "donor-is-being-added": "Sponsor:in wird hinzugefĂŒgt...", + "donor-is-being-updated": "Sponsor:in wird aktualisiert", + "donors": "Sponsor:innen", + "donors-are-being-loaded": "Sponsor:innen werden geladen", + "dont-have-your-email-connected": "Deine E-Mail ist nicht verknĂŒpft?", + "dont-panic-were-resetting-it": "Keine Panik, wir setzen es zurĂŒck ✌", + "e-mail-adress": "E-Mail-Adresse", + "edit": "Bearbeiten", + "edit-permissions": "Berechtigungen bearbeiten", + "email_address_or_username": "E-Mail-Adresse/ Benutzername", + "enabled": "aktiviert", + "english": "Englisch", + "error_on_login": "😱Fehler beim Login", + "erteilte": "Direkt erteilte", + "everything-concerning-your-profile": "Alles zu deinem Profil", + "everything-is-more-fun-together": "Im Team macht's mehr Spaß đŸƒâ€â™‚ïžđŸƒâ€â™€ïžđŸƒâ€â™‚ïž", + "faq": "FAQ", + "filter-by-organization-team": "Filtern nach Organisation / Team", + "first-name": "Vorname", + "first-name-is-required": "Vorname muss angegeben werden", + "first-scan-of-the-day": "Erster Scan des Tages", + "fixed-donation": "Festbetragsspende", + "forgot_password": "Passwort vergessen?", + "geerbte": "geerbte", + "general-stats": "Allgemeine Statistiken", + "general_promise_error": "😱 Ein unbekannter Fehler ist aufgetreten", + "generate-sponsoring-contract": "Sponsoringvertrag generieren", + "generate-sponsoring-contracts": "SponsoringvertrĂ€ge generieren", + "generating-pdf": "Pdf wird generiert...", + "generating-pdfs": "PDFs werden generiert...", + "generic-ui-logic-error": "Etwas ist in der BenutzeroberflĂ€che schiefgelaufen.", + "german": "Deutsch", + "go-to-login": "Zum Login", + "goback": "Zur Startseite", + "granted": "GewĂ€hrt", + "group": "Gruppe", + "group-added": "Gruppe hinzugefĂŒgt", + "group-is-being-added": "Gruppe wird erstellt", + "group-name-is-required": "Der Gruppenname muss angegeben werden.", + "group-updated": "Gruppe aktualisiert", + "groups": "Gruppen", + "groups-are-being-loaded": "Gruppen werden geladen", + "home": "Start", + "icon-image-credits": "Wir möchten uns außerdem fĂŒr die verwendeten Icons und Bilder bedanken bei:", + "import-finished": "Import abgeschlossen", + "import-runners": "LĂ€ufer:innen importieren", + "import__target-organization": "Ziel Organisation", + "imprint": "Impressum ", + "imprint-loading": "Impressum lĂ€dt...", + "inactive": "Inaktiv", + "installed-version": "Installierte Version", + "internal-error": "Interner Fehler", + "invalid": "UngĂŒltig", + "invalid-mail-reset": "Das ist keine gĂŒltige E-Mail", + "laeufer-hinzufuegen": "LĂ€ufer:in hinzufĂŒgen", + "laeufer-importieren": "LĂ€ufer:innen importieren", + "laptime": "Rundenzeit", + "last-name": "Nachname", + "last-name-is-required": "Nachname muss angegeben werden", + "lfk-is-os": "Das \"Lauf fĂŒr Kaya!\" Frontend ist (wie alle anderen Projekte fĂŒr den \"LfK!\" auch) ein OpenSource Projekt.", + "license": "Lizenz", + "licenses-are-being-loaded": "Lizenzen werden geladen...", + "loading-contact-details": "Kontaktdaten werden geladen ...", + "loading-donation-details": "Lade Sponsoringdetails", + "loading-donor-details": "Lade Details", + "loading-group-detail": "Lade Gruppendetails...", + "loading-profile-data": "Lade Profildaten", + "loading-runners": "LĂ€ufer:innen werden geladen...", + "loading-station-details": "Lade Scanstation-Details ...", + "log_in": "Anmelden", + "log_in_to_your_account": "Bitte melde dich an", + "login_is_checked": "Login wird ĂŒberprĂŒft", + "logout": "Abmelden", + "mail-validation-in-progress": "E-Mail Verifizierung lĂ€uft... ", + "manage-admin-users": "Nutzer verwalten", + "middle-name": "Mittelname", + "minimum-lap-time-in-s": "Minimale Rundenzeit (in Sekunden)", + "minimum-lap-time-must-be-a-positive-number-or-0": "Die minimale Rundenzeit muss eine positive Zahl oder 0 sein", + "name": "Name", + "name-is-required": "Der Gruppenname muss angegeben werden", + "new-password": "Neues Passwort", + "no-contact-found": "Keine Kontakte gefunden", + "no-contact-selected": "Kein Kontakt ausgewĂ€hlt", + "no-contact-specified": "Kein Kontakt angegeben", + "no-donors-found": "Keine Spender:innen gefunden", + "no-license-text-could-be-found": "Kein Lizenz-Text gefunden 😱", + "no-organization-or-team-found": "Keine Organisationen oder Teams gefunden", + "no-organization-specified": "Keine Organisation angegeben", + "no-organizations-found": "Keine Organisationen gefunden", + "no-runners-found": "Keine LĂ€ufer:innen gefunden", + "no-tracks-added-yet": "Es wurden noch keine Tracks erstellt.", + "organization": "Organisation", + "organization-added": "Organisation hinzugefĂŒgt", + "organization-deleted": "Organisation gelöscht", + "organization-detail-is-being-loaded": "Organisationsdetails werden geladen ...", + "organization-is-being-added": "Organisation wird hinzugefĂŒgt ...", + "organization-name-is-required": "Der Name muss angegeben werden", + "organizations": "Organisationen", + "organizations-are-being-loaded": "Organisationen werden geladen ...", + "orgs": "Organisationen", + "oss_credit_description": "Wir verwenden eine Menge Open Source-Software bei diesen Projekten und möchten uns bei den folgenden Projekten und Mitwirkenden bedanken, die dazu beitragen, Open Source großartig zu machen!", + "password": "Passwort", + "password-changed": "Passwort wurde aktualisiert!", + "password-is-required": "Passwort muss angegeben werden", + "password-reset-failed": "Passwort zurĂŒcksetzen ist fehlgeschlagen!", + "password-reset-in-progress": "Passwort wird zurĂŒckgesetzt...", + "password-reset-mail-sent": "Passwort-Reset Mail wurde an \"{usersEmail}\" geschickt.", + "password-reset-successful": "Passwort erfolgreich zurĂŒckgesetzt!", + "passwords-dont-match": "Die Passwörter stimmen nicht ĂŒberein.", + "pdf-generation-failed": "PDF Generierung fehlgeschlagen!", + "pdf-successfully-generated": "PDF wurde erfolgreich generiert!", + "pdfs-successfully-generated": "Alle PDFs wurden generiert!", + "per-kilometer": "pro Kilometer", + "permissions": "Berechtigungen", + "permissions-updated": "Berechtigungen aktualisiert!", + "phone": "Telefon", + "please-provide-a-password": "Bitte gebe ein Passwort an...", + "please-provide-the-nessecary-information-to-add-a-new-donor": "Bitte mach die Notwendigen Angaben, um eine neue Sponsor:in zu erstellen", + "please-provide-the-nessecary-information-to-create-a-new-donation": "Bitte gebe alle fĂŒr das Sponsoring notwendigen Daten an.", + "please-provide-the-nessecary-information-to-create-a-new-scan": "Bitte gebe alle notwendigen Informationen an, um einen neuen Scan zu erstellen.", + "please-provide-the-required-csv-xlsx-file": "Bitte eine CSV oder XLSX Datei hochladen.", + "please-provide-the-required-information-for-creating-a-new-user-group": "Bitte gebe alle fĂŒr eine neue Gruppe notwendigen Informationen an.", + "please-provide-the-required-information-to-add-a-new-contact": "Bitte gebe alle nötigen Informationen an, im den neuen Kontakt zu erstellen.", + "please-provide-the-required-information-to-add-a-new-organization": "Bitte gebe alle nötigen Informationen an, im die neue Organisation zu erstellen.", + "please-provide-the-required-information-to-add-a-new-runner": "Bitte die benötigten Informationen angeben.", + "please-provide-the-required-information-to-add-a-new-team": "Bitte gebe alle nötigen Informationen an, im das neue Team zu erstellen.", + "please-provide-the-required-information-to-add-a-new-track": "Bitte die benötigten Informationen angeben.", + "please-provide-the-required-information-to-add-a-new-user": "Bitte gebe alle nötigen Informationen an, im die neue Benutzer:in zu erstellen.", + "please-request-a-new-reset-mail": "Bitte eine neue Passwortreset-Mail anfordern...", + "privacy": "Datenschutz", + "privacy-loading": "DatenschutzerklĂ€rung lĂ€dt...", + "profile": "Profil", + "profile-picture": "Profilbild", + "profile-updated": "Profil wurde aktualisiert!", + "read-license": "Lizenz-Text lesen", + "receipt-needed": "Spendenquittung benötigt", + "repo_link": "Link", + "request-a-new-reset-mail": "Neue Reset-Mail anfordern", + "reset-my-password": "Passwort zurĂŒcksetzen", + "reset-password": "Passwort zurĂŒcksetzen", + "runner": "LĂ€ufer:in", + "runner-added": "LĂ€ufer:in hinzugefĂŒgt", + "runner-import": "LĂ€ufer:innen Import", + "runner-is-being-added": "LĂ€ufer:in wird hinzugefĂŒgt...", + "runner-updated": "LĂ€ufer:in aktualisiert!", + "runnerimport_verify_runners_org": "Bitte die LĂ€ufer:innen fĂŒr den Import in die Organisation \"{org_name}\" bestĂ€tigen", + "runners": "LĂ€ufer", + "runners-are-being-imported": "LĂ€ufer:innen werden importiert ...", + "runners-are-being-loaded": "LĂ€ufer:innen werden geladen ...", + "save": "Speichern", + "save-changes": "Änderungen speichern", + "scan-added": "Scan hinzugefĂŒgt", + "scan-is-being-updated": "Scan wird aktualisiert", + "scan-with-fixed-distance": "Scan mit Festdistanz", + "scans": "Scans", + "scans-are-being-loaded": "Scans werden geladen", + "scanstation": "Scanner Station", + "scanstations": "Scanner Stationen", + "scanstations-are-being-loaded": "Scannerstationen werden geladen...", + "search-for-an-organization-by-name-or-id": "Suche eine Organisation (via Name oder Id)", + "search-for-an-organization-or-team-by-name-or-id": "Suche eine Organisation oder ein Team (via Name oder Id)", + "search-for-donor-name-or-id": "Suche eine Spender:in (via Name oder Id)", + "search-for-permission": "Berechtigungen durchsuchen", + "search-for-runner-by-name-or-id": "Suche eine LĂ€ufer:in (via Name oder Id)", + "select-all": "Alle auswĂ€hlen", + "select-language": "Sprache auswĂ€hlen", + "send-a-mail-to-lfk-odit-services": "Sende eine Mail an lfk@odit.services", + "set-the-user-active-inactive": "Den Benutzer auf (in)aktiv setzen", + "settings": "Einstellungen", + "settings-for-your-profile": "Die Einstellungen deines Accounts", + "something-about-the-group": "Infos zur Gruppe", + "stats-are-being-loaded": "Die Statistiken werden geladen...", + "status": "Status", + "stuff-that-could-harm-your-profile": "Einstellungen, die deinem Profil nachhaltig schaden können", + "successful-password-reset": "Passwort erfolgreich zurĂŒckgesetzt!", + "team": "Team", + "team-detail-is-being-loaded": "Team wird geladen...", + "team-name": "Teamname", + "team-name-is-required": "Teamname ist erforderlich", + "teams": "Teams", + "teams-are-being-loaded": "Teams werden geladen ...", + "the-provided-phone-number-is-invalid-less-than-br-greater-than-please-enter-a-valid-international-number": "Die angegebene Telefonnummer ist nicht korrekt.
Bitte gebe eine Telefonnummer im internationalen Format an...", + "the-scans-distance-must-be-greater-than-0m": "Die Distanz muss grĂ¶ĂŸer als 0m sein.", + "there-are-no-contacts-added-yet": "Es wurden noch keine Kontakte hinzugefĂŒgt.", + "there-are-no-donations-yet": "Es gibt noch keine Sponsorings", + "there-are-no-donors-yet": "Es gibt noch keine Sponsor:innen", + "there-are-no-groups-yet": "Es gibt noch keine Gruppen", + "there-are-no-organizations-added-yet": "Es wurden noch keine Organisationen hinzugefĂŒgt.", + "there-are-no-runners-added-yet": "Es wurden noch keine LĂ€ufer:innen hinzugefĂŒgt.", + "there-are-no-scans-yet": "Es gibt noch keine Scans", + "there-are-no-teams-added-yet": "Es wurden noch keine Teams hinzugefĂŒgt.", + "there-are-no-users-added-yet": "Es wurden noch keine Benutzer hinzugefĂŒgt.", + "this-might-take-a-moment": "Das könnte einen kleinen Moment dauern", + "this-scanstation-is": "Diese Station ist", + "total-distance": "gelaufene Strecke", + "total-donation-amount": "Gesamtbetrag", + "total-donations": "Spendensumme", + "total-scans": "gesamte Scans", + "track": "Track", + "track-added": "Track hinzugefĂŒgt", + "track-data-is-being-loaded": "Trackdaten werden geladen", + "track-is-being-added": "Track wird hinzugefĂŒgt...", + "track-length-in-m": "TracklĂ€nge (in Metern)", + "track-length-must-be-greater-than-0": "Die LĂ€nge muss grĂ¶ĂŸer als 0 (Meter) sein", + "track-name": "Trackname", + "track-name-must-not-be-empty": "Der Name muss angegeben werden", + "tracks": "Tracks", + "update-password": "Passwort Ă€ndern", + "updated-contact": "Kontakt aktualisiert!", + "updated-donor": "Sponsor:in wurde aktualisiert", + "updated-organization": "Organisation wurde aktualisiert", + "updated-scan": "Scan wurde aktualisiert", + "updateing-group": "Gruppe wird aktualisiert...", + "updating-organization": "Organisation wird aktualisiert", + "updating-permissions": "Berechtigungen werden aktualisiert...", + "updating-runner": "LĂ€ufer:in wird aktualisiert.", + "updating-user": "Benutzer:in wird aktualisiert...", + "updating-your-profile": "Profil wird aktualisiert...", + "user-added": "Benutzer hinzugefĂŒgt", + "user-groups": "Benutzergruppen", + "user-is-being-added": "Benutzer wird hinzugefĂŒgt ...", + "user-updated": "Benutzer:in wurde aktualisiert", + "username": "Benutzername", + "users": "Benutzer", + "valid": "GĂŒltig", + "valid-city-is-required": "Du musst eine Stadt angeben", + "valid-email-is-required": "Es wird eine valide E-Mail Adresse benötigt", + "valid-international-phone-number-is-required": "Du musst eine Telefonnummer im internationalen Format angeben...", + "valid-zipcode-postal-code-is-required": "Du musst eine valide Postleitzahl angeben", + "verfuegbare": "VerfĂŒgbar", + "welcome_wavinghand": "Willkommen 👋", + "yes-i-copied-the-token": "Ja, ich habe den Token kopiert", + "you-are-going-to-loose-all-permissions-and-access-to-the-runner-system": "Du wirst all deine Berechtigungen und den Zugriff aufs LĂ€ufersystem verlieren!", + "you-can-now-use-your-new-password-to-log-in-to-your-account": "Du kannst dich jetzt mit deinem neuen Passwort anmelden! 🎉", + "you-dont-have-any-scanstations-yet": "Es gibt noch keine Scannerstationen", + "you-have-to-provide-an-organization": "Du musst eine Organisation angeben", + "zip-postal-code": "Postleitzahl", + "cards": "LĂ€uferkarten", + "add-card": "Karte erstellen" +} diff --git a/src/locales/en.json b/src/locales/en.json index 24544ac8..8bef7043 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -1,380 +1,382 @@ { - "404message": "Sorry, the page you are looking for could not be found.", - "404title": "Error 404", - "about": "About", - "action": "Action", - "active": "Active", - "add-donation": "Add donation", - "add-donor": "add donor", - "add-scan": "Add scan", - "add-the-first-scanstation": "Add your first scanstation.", - "add-user-group": "Add User Group", - "add-your-first-contact": "Add your first contact", - "add-your-first-donor": "add your first donor", - "add-your-first-group": "Add your first group", - "add-your-first-organization": "Add your first organization", - "add-your-first-runner": "Add your first runner", - "add-your-first-team": "Add your first team", - "add-your-first-track": "Add your first track.", - "add-your-first-user": "Add your first user", - "add-your-fist-donation": "Add your fist donation", - "add-your-fist-scan": "Add your fist scan", - "adding-scan": "Adding Scan", - "address": "Address", - "address-is-required": "Address is required", - "after-deletion-we-cant-restore-your-old-profile": "After deletion we can't restore your old profile!", - "after-the-update-youll-get-logged-out-please-login-with-your-new-password-after-that": "After the update you'll get logged out - Please login with your new password after that.", - "all-associated-donations-will-get-deleted-as-well": "All associated donations will get deleted as well", - "all-associated-runners-will-be-deleted-too": "All associated runners will be deleted too!", - "all-associated-teams-and-runners-will-be-deleted-too": "All associated teams and runners will be deleted too!", - "amount-per-kilometer": "Amount per kilometer", - "apartment-suite-etc": "Apartment, suite, etc.", - "application_name": "Lauf fĂŒr Kaya! - Admin", - "applying-changes": "Applying Changes", - "attention": "Attention!", - "author": "Author", - "bitte-bestaetige-diese-laeufer-fuer-den-import": "Please confirm these runners for import.", - "by": "by", - "cancel": "Cancel", - "cancel-delete": "Cancel Delete", - "cancel-keep-donor": "Cancel, keep donor", - "cancel-keep-my-profile": "Cancel, keep my profile", - "cancel-keep-organization": "Cancel, keep organization", - "cancel-keep-team": "Cancel, keep team", - "cannot-reset-your-password-directly": "Bummer. We unfortunately cannot reset your password directly. Please send us a mail and confirm your identity", - "change-your-password-here": "Change your password here", - "changing-your-password": "Changing your password", - "city": "City", - "close": "Close", - "configure-the-tracks-and-minimum-lap-times": "configure the tracks & minimum lap times", - "confirm": "Confirm", - "confirm-delete": "Confirm Delete", - "confirm-delete-donor-with-all-donations": "Confirm, delete donor with all donations", - "confirm-delete-my-user-profile": "Confirm, delete my user profile", - "confirm-delete-organization-and-associated-teams-runners": "Confirm, delete organization and associated teams+runners.", - "confirm-delete-team-and-associated-runners": "Confirm, delete team and associated runners.", - "confirm-deletion": "Confirm Deletion", - "confirm-the-new-password": "Confirm the new password", - "contact": "Contact", - "contact-deleted": "Contact deleted", - "contact-information": "Contact Information", - "contact-is-being-updated": "Contact is being updated...", - "contact-is-not-a-member-in-any-group": "Contact is not a member in any group", - "contacts": "Contacts", - "contacts-are-being-loaded": "contacts are being loaded...", - "count_organizations": "# Organizations", - "count_teams": "# Teams", - "create": "Create", - "create-a-new": "Create a new", - "create-a-new-contact": "Create a new contact", - "create-a-new-distance-donation": "Create a new distance donation", - "create-a-new-donor": "Create a new donor", - "create-a-new-fixed-donation": "Create a new fixed donation", - "create-a-new-organization": "Create a new Organization", - "create-a-new-runner": "Create a new Runner", - "create-a-new-scan-fixed-only": "Create a new scan (fixed only)", - "create-a-new-scanstation": "Create a new station", - "create-a-new-team": "Create a new team", - "create-a-new-track": "Create a new Track", - "create-a-new-user": "Create a new User", - "create-a-new-user-group": "Create a new user group", - "create-organization": "Create Organization", - "create-team": "Create Team", - "create-track": "Create Track", - "create-user": "Create User", - "credits": "Credits", - "csv_import__class": "Class", - "csv_import__firstname": "Firstname", - "csv_import__lastname": "Lastname", - "csv_import__middlename": "Middlename", - "csv_import__team": "Team", - "danger-zone": "Danger zone", - "dashboard-greeting": "Hello", - "dashboard-title": "Dashboard", - "datatable": { - "search": "🔍 Search...", - "sort_column_ascending": "Sort column ascending", - "sort_column_descending": "Sort column descending", - "previous": "Previous", - "next": "Next", - "page": "Page", - "showing": "Showing", - "records": "Records", - "of": "of", - "to": "to", - "loading": "Loading...", - "no_matching_records_found": "No matching records found", - "an_error_happened_while_fetching_the_data": "An error happened while fetching the data" - }, - "delete": "Delete", - "delete-contact": "Delete Contact", - "delete-donation": "Delete Donation", - "delete-donor": "Delete donor", - "delete-group": "Delete Group", - "delete-organization": "Delete Organization", - "delete-profile": "Delete Profile", - "delete-runner": "Delete Runner", - "delete-scan": "Delete scan", - "delete-station": "Delete station", - "delete-team": "Delete Team", - "delete-user": "Delete User", - "deleted-scan": "Deleted scan", - "dependency_name": "Name", - "description": "description", - "description-optional": "Description (optional)", - "deselect-all": "deselect all", - "details": "Details", - "distance": "Distance", - "distance-donation": "distance donation", - "distance-in-km": "Distance in km", - "distance-track": "Distance (+Track)", - "do-you-really-want-to-delete-your-profile": "Do you really want to delete your profile?", - "do-you-want-to-delete-the-organization-delete_org-name": "Do you want to delete the organization {orgname}?", - "do-you-want-to-delete-the-team-delete_team-name": "Do you want to delete the team {teamname}?", - "do-you-want-to-delete-this-donor-with-all-related-donations": "Do you want to delete this donor with all related donations", - "documentation": "Documentation", - "donation-amount": "Donation amount", - "donation-amount-must-be-greater-that-0-00eur": "Donation amount must be greater that 0.00€", - "donations": "Donations", - "donor": "Donor", - "donor-added": "Donor added", - "donor-deleted": "donor deleted", - "donor-has-no-associated-donations": "Donor has no associated donations.", - "donor-is-being-added": "Donor is being added...", - "donor-is-being-updated": "Donor is being updated", - "donors": "Donors", - "donors-are-being-loaded": "donors are being loaded", - "dont-have-your-email-connected": "Don't have your email connected?", - "dont-panic-were-resetting-it": "Don't panic, we're resetting it ✌", - "e-mail-adress": "E-Mail Adress", - "edit": "Edit", - "edit-permissions": "edit permissions", - "email_address_or_username": "Email / username", - "enabled": "enabled", - "english": "English", - "error_on_login": "Error on login", - "erteilte": "Directly granted", - "everything-concerning-your-profile": "Everything concerning your profile", - "everything-is-more-fun-together": "everything is more fun together đŸƒâ€â™‚ïžđŸƒâ€â™€ïžđŸƒâ€â™‚ïž", - "faq": "FAQ", - "filter-by-organization-team": "Filter by Organization/ Team", - "first-name": "First name", - "first-name-is-required": "First Name is required", - "first-scan-of-the-day": "First scan of the day.", - "fixed-donation": "fixed donation", - "forgot_password": "Forgot your password?", - "geerbte": "inherited", - "general-stats": "General Stats", - "general_promise_error": "😱 Error", - "generate-sponsoring-contract": "generate sponsoring contract", - "generate-sponsoring-contracts": "generate sponsoring contracts", - "generating-pdf": "generating PDF...", - "generating-pdfs": "generating PDFs...", - "generic-ui-logic-error": "Something went wrong in the UI logic", - "german": "German", - "go-to-login": "Go To Login", - "goback": "Go Home", - "granted": "granted", - "group": "Group", - "group-added": "Group added", - "group-is-being-added": "Group is being added...", - "group-name-is-required": "Group name is required", - "group-updated": "group updated", - "groups": "Groups", - "groups-are-being-loaded": "Groups are being loaded", - "home": "Home", - "icon-image-credits": "We also want to thank these projects for illustrations and icons:", - "import-finished": "Import finished", - "import-runners": "Import runners", - "import__target-organization": "Target Organization", - "imprint": "Imprint", - "imprint-loading": "Imprint loading...", - "inactive": "Inactive", - "installed-version": "Installed version", - "internal-error": "Internal Error", - "invalid": "Invalid", - "invalid-mail-reset": "the provided email is invalid", - "laeufer-hinzufuegen": "Add runner", - "laeufer-importieren": "LĂ€ufer importieren", - "laptime": "Laptime", - "last-name": "Last name", - "last-name-is-required": "Last Name is required", - "lfk-is-os": "The \"Lauf fĂŒr Kaya!\" Frontend is (like all other projects for the \"LfK!\" Also) an open source project.", - "license": "License", - "licenses-are-being-loaded": "Licenses are being loaded...", - "loading-contact-details": "Loading contact details...", - "loading-donation-details": "Loading donation details", - "loading-donor-details": "Loading donor details", - "loading-group-detail": "Loading group detail...", - "loading-profile-data": "Loading profile data", - "loading-runners": "loading runners...", - "loading-station-details": "Loading station details", - "log_in": "Log in", - "log_in_to_your_account": "Log in to your account", - "login_is_checked": "Login is being checked...", - "logout": "Logout", - "mail-validation-in-progress": "mail validation in progress...", - "manage-admin-users": "manage admin users", - "middle-name": "Middle name", - "minimum-lap-time-in-s": "minimum lap time in s", - "minimum-lap-time-must-be-a-positive-number-or-0": "minimum lap time must be a positive number or 0", - "name": "Name", - "name-is-required": "Name is required", - "new-password": "New password", - "no-contact-found": "No contacts found", - "no-contact-selected": "No contact selected", - "no-contact-specified": "no contact specified", - "no-donors-found": "No donors found", - "no-license-text-could-be-found": "No license text could be found 😱", - "no-organization-or-team-found": "No organization or team found", - "no-organization-specified": "no organization specified", - "no-organizations-found": "No organizations found", - "no-runners-found": "No runners found", - "no-tracks-added-yet": "there are no tracks added yet.", - "organization": "Organization", - "organization-added": "Organization added", - "organization-deleted": "Organization deleted", - "organization-detail-is-being-loaded": "organization detail is being loaded...", - "organization-is-being-added": "Organization is being added...", - "organization-name-is-required": "Organization name is required", - "organizations": "Organizations", - "organizations-are-being-loaded": "organizations are being loaded...", - "orgs": "Organizations", - "oss_credit_description": "We use a lot of open source software on these projects, and would like to thank the following projects and contributors who help make open source great!", - "password": "Password", - "password-changed": "Password changed!", - "password-is-required": "Password is required", - "password-reset-failed": "Password reset failed!", - "password-reset-in-progress": "Password Reset in Progress...", - "password-reset-mail-sent": "Password reset mail was sent to \"{usersEmail}\".", - "password-reset-successful": "Password Reset successful!", - "passwords-dont-match": "Passwords don't match", - "pdf-generation-failed": "PDF generation failed!", - "pdf-successfully-generated": "PDF successfully generated!", - "pdfs-successfully-generated": "PDFs successfully generated!", - "per-kilometer": "per Kilometer", - "permissions": "Permissions", - "permissions-updated": "Permissions updated!", - "phone": "Phone", - "please-provide-a-password": "Please provide a password...", - "please-provide-the-nessecary-information-to-add-a-new-donor": "Please provide the nessecary information to add a new donor", - "please-provide-the-nessecary-information-to-create-a-new-donation": "Please provide the nessecary information to create a new donation", - "please-provide-the-nessecary-information-to-create-a-new-scan": "Please provide the nessecary information to create a new scan.", - "please-provide-the-required-csv-xlsx-file": "Please provide the required csv/ xlsx file", - "please-provide-the-required-information-for-creating-a-new-user-group": "Please provide the required information for creating a new user group.", - "please-provide-the-required-information-to-add-a-new-contact": "Please provide the required information to add a new contact.", - "please-provide-the-required-information-to-add-a-new-organization": "Please provide the required information to add a new organization.", - "please-provide-the-required-information-to-add-a-new-runner": "Please provide the required information to add a new runner.", - "please-provide-the-required-information-to-add-a-new-team": "Please provide the required information to add a new team.", - "please-provide-the-required-information-to-add-a-new-track": "Please provide the required information to add a new track.", - "please-provide-the-required-information-to-add-a-new-user": "Please provide the required information to add a new user.", - "please-request-a-new-reset-mail": "Please request a new reset mail...", - "privacy": "Privacy", - "privacy-loading": "Privacy loading...", - "profile": "Profile", - "profile-picture": "Profile Picture", - "profile-updated": "Profile updated!", - "read-license": "Read License", - "receipt-needed": "Receipt needed", - "repo_link": "Link", - "request-a-new-reset-mail": "Request a new reset mail", - "reset-my-password": "Reset my password", - "reset-password": "Reset your password", - "runner": "Runner", - "runner-added": "Runner added", - "runner-import": "Runner Import", - "runner-is-being-added": "Runner is being added...", - "runner-updated": "Runner updated!", - "runnerimport_verify_runners_org": "Please confirm these runners for import into the organization \"{org_name}\"", - "runners": "Runners", - "runners-are-being-imported": "Runners are being imported...", - "runners-are-being-loaded": "runners are being loaded...", - "save": "Save", - "save-changes": "Save Changes", - "scan-added": "Scan added", - "scan-is-being-updated": "Scan is being updated", - "scan-with-fixed-distance": "Scan with fixed distance", - "scans": "Scans", - "scans-are-being-loaded": "Scans are being loaded", - "scanstation": "Scanstation", - "scanstations": "Scanstations", - "scanstations-are-being-loaded": "Loading scanstations...", - "search-for-an-organization-by-name-or-id": "Search for an organization (by name or id)", - "search-for-an-organization-or-team-by-name-or-id": "Search for an organization or team (by name or id)", - "search-for-donor-name-or-id": "Search for donor (by name or id)", - "search-for-permission": "Search for permission", - "search-for-runner-by-name-or-id": "Search for runner (by name or id)", - "select-all": "select all", - "select-language": "Select language", - "send-a-mail-to-lfk-odit-services": "send a mail to lfk@odit.services", - "set-the-user-active-inactive": "set the user active/ inactive", - "settings": "Settings", - "settings-for-your-profile": "Settings for your profile", - "something-about-the-group": "Something about the group...", - "stats-are-being-loaded": "stats are being loaded...", - "status": "Status", - "stuff-that-could-harm-your-profile": "Stuff that could harm your profile", - "successful-password-reset": "Successful password reset!", - "team": "Team", - "team-detail-is-being-loaded": "team detail is being loaded...", - "team-name": "Team name", - "team-name-is-required": "team name is required", - "teams": "Teams", - "teams-are-being-loaded": "teams are being loaded...", - "the-provided-phone-number-is-invalid-less-than-br-greater-than-please-enter-a-valid-international-number": "the provided phone number is invalid.
please enter a valid international number...", - "the-scans-distance-must-be-greater-than-0m": "The scan's distance must be greater than 0m", - "there-are-no-contacts-added-yet": "There are no contacts added yet.", - "there-are-no-donations-yet": "There are no donations yet", - "there-are-no-donors-yet": "There are no donors yet", - "there-are-no-groups-yet": "There are no groups yet", - "there-are-no-organizations-added-yet": "There are no organizations added yet.", - "there-are-no-runners-added-yet": "There are no runners added yet.", - "there-are-no-scans-yet": "There are no scans yet", - "there-are-no-teams-added-yet": "There are no teams added yet.", - "there-are-no-users-added-yet": "There are no users added yet.", - "this-might-take-a-moment": "This might take a moment 👀", - "this-scanstation-is": "This scanstation is", - "total-distance": "total distance", - "total-donation-amount": "total donation amount", - "total-donations": "total donations", - "total-scans": "total scans", - "track": "Track", - "track-added": "Track added", - "track-data-is-being-loaded": "Track data is being loaded", - "track-is-being-added": "Track is being added...", - "track-length-in-m": "Track Length in m", - "track-length-must-be-greater-than-0": "Track length must be greater than 0", - "track-name": "Track name", - "track-name-must-not-be-empty": "Track name must not be empty", - "tracks": "Tracks", - "update-password": "Update password", - "updated-contact": "Updated contact!", - "updated-donor": "updated donor", - "updated-organization": "updated organization", - "updated-scan": "updated scan", - "updateing-group": "updateing group...", - "updating-organization": "updating organization", - "updating-permissions": "updating permissions...", - "updating-runner": "Updating runner...", - "updating-user": "updating user...", - "updating-your-profile": "Updating your profile...", - "user-added": "User added", - "user-groups": "User Groups", - "user-is-being-added": "User is being added...", - "user-updated": "User updated", - "username": "Username", - "users": "Users", - "valid": "Valid", - "valid-city-is-required": "Valid city is required", - "valid-email-is-required": "valid email is required", - "valid-international-phone-number-is-required": "valid international phone number is required...", - "valid-zipcode-postal-code-is-required": "Valid zipcode/ postal code is required", - "verfuegbare": "availdable", - "welcome_wavinghand": "Welcome 👋", - "yes-i-copied-the-token": "Yes, I copied the token", - "you-are-going-to-loose-all-permissions-and-access-to-the-runner-system": "You are going to loose all permissions and access to the runner system!", - "you-can-now-use-your-new-password-to-log-in-to-your-account": "You can now use your new password to log in to your account! 🎉", - "you-dont-have-any-scanstations-yet": "You don't have any scanstations yet", - "you-have-to-provide-an-organization": "You have to provide an organization", - "zip-postal-code": "ZIP/ postal code" -} \ No newline at end of file + "404message": "Sorry, the page you are looking for could not be found.", + "404title": "Error 404", + "about": "About", + "action": "Action", + "active": "Active", + "add-donation": "Add donation", + "add-donor": "add donor", + "add-scan": "Add scan", + "add-the-first-scanstation": "Add your first scanstation.", + "add-user-group": "Add User Group", + "add-your-first-contact": "Add your first contact", + "add-your-first-donor": "add your first donor", + "add-your-first-group": "Add your first group", + "add-your-first-organization": "Add your first organization", + "add-your-first-runner": "Add your first runner", + "add-your-first-team": "Add your first team", + "add-your-first-track": "Add your first track.", + "add-your-first-user": "Add your first user", + "add-your-fist-donation": "Add your fist donation", + "add-your-fist-scan": "Add your fist scan", + "adding-scan": "Adding Scan", + "address": "Address", + "address-is-required": "Address is required", + "after-deletion-we-cant-restore-your-old-profile": "After deletion we can't restore your old profile!", + "after-the-update-youll-get-logged-out-please-login-with-your-new-password-after-that": "After the update you'll get logged out - Please login with your new password after that.", + "all-associated-donations-will-get-deleted-as-well": "All associated donations will get deleted as well", + "all-associated-runners-will-be-deleted-too": "All associated runners will be deleted too!", + "all-associated-teams-and-runners-will-be-deleted-too": "All associated teams and runners will be deleted too!", + "amount-per-kilometer": "Amount per kilometer", + "apartment-suite-etc": "Apartment, suite, etc.", + "application_name": "Lauf fĂŒr Kaya! - Admin", + "applying-changes": "Applying Changes", + "attention": "Attention!", + "author": "Author", + "bitte-bestaetige-diese-laeufer-fuer-den-import": "Please confirm these runners for import.", + "by": "by", + "cancel": "Cancel", + "cancel-delete": "Cancel Delete", + "cancel-keep-donor": "Cancel, keep donor", + "cancel-keep-my-profile": "Cancel, keep my profile", + "cancel-keep-organization": "Cancel, keep organization", + "cancel-keep-team": "Cancel, keep team", + "cannot-reset-your-password-directly": "Bummer. We unfortunately cannot reset your password directly. Please send us a mail and confirm your identity", + "change-your-password-here": "Change your password here", + "changing-your-password": "Changing your password", + "city": "City", + "close": "Close", + "configure-the-tracks-and-minimum-lap-times": "configure the tracks & minimum lap times", + "confirm": "Confirm", + "confirm-delete": "Confirm Delete", + "confirm-delete-donor-with-all-donations": "Confirm, delete donor with all donations", + "confirm-delete-my-user-profile": "Confirm, delete my user profile", + "confirm-delete-organization-and-associated-teams-runners": "Confirm, delete organization and associated teams+runners.", + "confirm-delete-team-and-associated-runners": "Confirm, delete team and associated runners.", + "confirm-deletion": "Confirm Deletion", + "confirm-the-new-password": "Confirm the new password", + "contact": "Contact", + "contact-deleted": "Contact deleted", + "contact-information": "Contact Information", + "contact-is-being-updated": "Contact is being updated...", + "contact-is-not-a-member-in-any-group": "Contact is not a member in any group", + "contacts": "Contacts", + "contacts-are-being-loaded": "contacts are being loaded...", + "count_organizations": "# Organizations", + "count_teams": "# Teams", + "create": "Create", + "create-a-new": "Create a new", + "create-a-new-contact": "Create a new contact", + "create-a-new-distance-donation": "Create a new distance donation", + "create-a-new-donor": "Create a new donor", + "create-a-new-fixed-donation": "Create a new fixed donation", + "create-a-new-organization": "Create a new Organization", + "create-a-new-runner": "Create a new Runner", + "create-a-new-scan-fixed-only": "Create a new scan (fixed only)", + "create-a-new-scanstation": "Create a new station", + "create-a-new-team": "Create a new team", + "create-a-new-track": "Create a new Track", + "create-a-new-user": "Create a new User", + "create-a-new-user-group": "Create a new user group", + "create-organization": "Create Organization", + "create-team": "Create Team", + "create-track": "Create Track", + "create-user": "Create User", + "credits": "Credits", + "csv_import__class": "Class", + "csv_import__firstname": "Firstname", + "csv_import__lastname": "Lastname", + "csv_import__middlename": "Middlename", + "csv_import__team": "Team", + "danger-zone": "Danger zone", + "dashboard-greeting": "Hello", + "dashboard-title": "Dashboard", + "datatable": { + "search": "🔍 Search...", + "sort_column_ascending": "Sort column ascending", + "sort_column_descending": "Sort column descending", + "previous": "Previous", + "next": "Next", + "page": "Page", + "showing": "Showing", + "records": "Records", + "of": "of", + "to": "to", + "loading": "Loading...", + "no_matching_records_found": "No matching records found", + "an_error_happened_while_fetching_the_data": "An error happened while fetching the data" + }, + "delete": "Delete", + "delete-contact": "Delete Contact", + "delete-donation": "Delete Donation", + "delete-donor": "Delete donor", + "delete-group": "Delete Group", + "delete-organization": "Delete Organization", + "delete-profile": "Delete Profile", + "delete-runner": "Delete Runner", + "delete-scan": "Delete scan", + "delete-station": "Delete station", + "delete-team": "Delete Team", + "delete-user": "Delete User", + "deleted-scan": "Deleted scan", + "dependency_name": "Name", + "description": "description", + "description-optional": "Description (optional)", + "deselect-all": "deselect all", + "details": "Details", + "distance": "Distance", + "distance-donation": "distance donation", + "distance-in-km": "Distance in km", + "distance-track": "Distance (+Track)", + "do-you-really-want-to-delete-your-profile": "Do you really want to delete your profile?", + "do-you-want-to-delete-the-organization-delete_org-name": "Do you want to delete the organization {orgname}?", + "do-you-want-to-delete-the-team-delete_team-name": "Do you want to delete the team {teamname}?", + "do-you-want-to-delete-this-donor-with-all-related-donations": "Do you want to delete this donor with all related donations", + "documentation": "Documentation", + "donation-amount": "Donation amount", + "donation-amount-must-be-greater-that-0-00eur": "Donation amount must be greater that 0.00€", + "donations": "Donations", + "donor": "Donor", + "donor-added": "Donor added", + "donor-deleted": "donor deleted", + "donor-has-no-associated-donations": "Donor has no associated donations.", + "donor-is-being-added": "Donor is being added...", + "donor-is-being-updated": "Donor is being updated", + "donors": "Donors", + "donors-are-being-loaded": "donors are being loaded", + "dont-have-your-email-connected": "Don't have your email connected?", + "dont-panic-were-resetting-it": "Don't panic, we're resetting it ✌", + "e-mail-adress": "E-Mail Adress", + "edit": "Edit", + "edit-permissions": "edit permissions", + "email_address_or_username": "Email / username", + "enabled": "enabled", + "english": "English", + "error_on_login": "Error on login", + "erteilte": "Directly granted", + "everything-concerning-your-profile": "Everything concerning your profile", + "everything-is-more-fun-together": "everything is more fun together đŸƒâ€â™‚ïžđŸƒâ€â™€ïžđŸƒâ€â™‚ïž", + "faq": "FAQ", + "filter-by-organization-team": "Filter by Organization/ Team", + "first-name": "First name", + "first-name-is-required": "First Name is required", + "first-scan-of-the-day": "First scan of the day.", + "fixed-donation": "fixed donation", + "forgot_password": "Forgot your password?", + "geerbte": "inherited", + "general-stats": "General Stats", + "general_promise_error": "😱 Error", + "generate-sponsoring-contract": "generate sponsoring contract", + "generate-sponsoring-contracts": "generate sponsoring contracts", + "generating-pdf": "generating PDF...", + "generating-pdfs": "generating PDFs...", + "generic-ui-logic-error": "Something went wrong in the UI logic", + "german": "German", + "go-to-login": "Go To Login", + "goback": "Go Home", + "granted": "granted", + "group": "Group", + "group-added": "Group added", + "group-is-being-added": "Group is being added...", + "group-name-is-required": "Group name is required", + "group-updated": "group updated", + "groups": "Groups", + "groups-are-being-loaded": "Groups are being loaded", + "home": "Home", + "icon-image-credits": "We also want to thank these projects for illustrations and icons:", + "import-finished": "Import finished", + "import-runners": "Import runners", + "import__target-organization": "Target Organization", + "imprint": "Imprint", + "imprint-loading": "Imprint loading...", + "inactive": "Inactive", + "installed-version": "Installed version", + "internal-error": "Internal Error", + "invalid": "Invalid", + "invalid-mail-reset": "the provided email is invalid", + "laeufer-hinzufuegen": "Add runner", + "laeufer-importieren": "LĂ€ufer importieren", + "laptime": "Laptime", + "last-name": "Last name", + "last-name-is-required": "Last Name is required", + "lfk-is-os": "The \"Lauf fĂŒr Kaya!\" Frontend is (like all other projects for the \"LfK!\" Also) an open source project.", + "license": "License", + "licenses-are-being-loaded": "Licenses are being loaded...", + "loading-contact-details": "Loading contact details...", + "loading-donation-details": "Loading donation details", + "loading-donor-details": "Loading donor details", + "loading-group-detail": "Loading group detail...", + "loading-profile-data": "Loading profile data", + "loading-runners": "loading runners...", + "loading-station-details": "Loading station details", + "log_in": "Log in", + "log_in_to_your_account": "Log in to your account", + "login_is_checked": "Login is being checked...", + "logout": "Logout", + "mail-validation-in-progress": "mail validation in progress...", + "manage-admin-users": "manage admin users", + "middle-name": "Middle name", + "minimum-lap-time-in-s": "minimum lap time in s", + "minimum-lap-time-must-be-a-positive-number-or-0": "minimum lap time must be a positive number or 0", + "name": "Name", + "name-is-required": "Name is required", + "new-password": "New password", + "no-contact-found": "No contacts found", + "no-contact-selected": "No contact selected", + "no-contact-specified": "no contact specified", + "no-donors-found": "No donors found", + "no-license-text-could-be-found": "No license text could be found 😱", + "no-organization-or-team-found": "No organization or team found", + "no-organization-specified": "no organization specified", + "no-organizations-found": "No organizations found", + "no-runners-found": "No runners found", + "no-tracks-added-yet": "there are no tracks added yet.", + "organization": "Organization", + "organization-added": "Organization added", + "organization-deleted": "Organization deleted", + "organization-detail-is-being-loaded": "organization detail is being loaded...", + "organization-is-being-added": "Organization is being added...", + "organization-name-is-required": "Organization name is required", + "organizations": "Organizations", + "organizations-are-being-loaded": "organizations are being loaded...", + "orgs": "Organizations", + "oss_credit_description": "We use a lot of open source software on these projects, and would like to thank the following projects and contributors who help make open source great!", + "password": "Password", + "password-changed": "Password changed!", + "password-is-required": "Password is required", + "password-reset-failed": "Password reset failed!", + "password-reset-in-progress": "Password Reset in Progress...", + "password-reset-mail-sent": "Password reset mail was sent to \"{usersEmail}\".", + "password-reset-successful": "Password Reset successful!", + "passwords-dont-match": "Passwords don't match", + "pdf-generation-failed": "PDF generation failed!", + "pdf-successfully-generated": "PDF successfully generated!", + "pdfs-successfully-generated": "PDFs successfully generated!", + "per-kilometer": "per Kilometer", + "permissions": "Permissions", + "permissions-updated": "Permissions updated!", + "phone": "Phone", + "please-provide-a-password": "Please provide a password...", + "please-provide-the-nessecary-information-to-add-a-new-donor": "Please provide the nessecary information to add a new donor", + "please-provide-the-nessecary-information-to-create-a-new-donation": "Please provide the nessecary information to create a new donation", + "please-provide-the-nessecary-information-to-create-a-new-scan": "Please provide the nessecary information to create a new scan.", + "please-provide-the-required-csv-xlsx-file": "Please provide the required csv/ xlsx file", + "please-provide-the-required-information-for-creating-a-new-user-group": "Please provide the required information for creating a new user group.", + "please-provide-the-required-information-to-add-a-new-contact": "Please provide the required information to add a new contact.", + "please-provide-the-required-information-to-add-a-new-organization": "Please provide the required information to add a new organization.", + "please-provide-the-required-information-to-add-a-new-runner": "Please provide the required information to add a new runner.", + "please-provide-the-required-information-to-add-a-new-team": "Please provide the required information to add a new team.", + "please-provide-the-required-information-to-add-a-new-track": "Please provide the required information to add a new track.", + "please-provide-the-required-information-to-add-a-new-user": "Please provide the required information to add a new user.", + "please-request-a-new-reset-mail": "Please request a new reset mail...", + "privacy": "Privacy", + "privacy-loading": "Privacy loading...", + "profile": "Profile", + "profile-picture": "Profile Picture", + "profile-updated": "Profile updated!", + "read-license": "Read License", + "receipt-needed": "Receipt needed", + "repo_link": "Link", + "request-a-new-reset-mail": "Request a new reset mail", + "reset-my-password": "Reset my password", + "reset-password": "Reset your password", + "runner": "Runner", + "runner-added": "Runner added", + "runner-import": "Runner Import", + "runner-is-being-added": "Runner is being added...", + "runner-updated": "Runner updated!", + "runnerimport_verify_runners_org": "Please confirm these runners for import into the organization \"{org_name}\"", + "runners": "Runners", + "runners-are-being-imported": "Runners are being imported...", + "runners-are-being-loaded": "runners are being loaded...", + "save": "Save", + "save-changes": "Save Changes", + "scan-added": "Scan added", + "scan-is-being-updated": "Scan is being updated", + "scan-with-fixed-distance": "Scan with fixed distance", + "scans": "Scans", + "scans-are-being-loaded": "Scans are being loaded", + "scanstation": "Scanstation", + "scanstations": "Scanstations", + "scanstations-are-being-loaded": "Loading scanstations...", + "search-for-an-organization-by-name-or-id": "Search for an organization (by name or id)", + "search-for-an-organization-or-team-by-name-or-id": "Search for an organization or team (by name or id)", + "search-for-donor-name-or-id": "Search for donor (by name or id)", + "search-for-permission": "Search for permission", + "search-for-runner-by-name-or-id": "Search for runner (by name or id)", + "select-all": "select all", + "select-language": "Select language", + "send-a-mail-to-lfk-odit-services": "send a mail to lfk@odit.services", + "set-the-user-active-inactive": "set the user active/ inactive", + "settings": "Settings", + "settings-for-your-profile": "Settings for your profile", + "something-about-the-group": "Something about the group...", + "stats-are-being-loaded": "stats are being loaded...", + "status": "Status", + "stuff-that-could-harm-your-profile": "Stuff that could harm your profile", + "successful-password-reset": "Successful password reset!", + "team": "Team", + "team-detail-is-being-loaded": "team detail is being loaded...", + "team-name": "Team name", + "team-name-is-required": "team name is required", + "teams": "Teams", + "teams-are-being-loaded": "teams are being loaded...", + "the-provided-phone-number-is-invalid-less-than-br-greater-than-please-enter-a-valid-international-number": "the provided phone number is invalid.
please enter a valid international number...", + "the-scans-distance-must-be-greater-than-0m": "The scan's distance must be greater than 0m", + "there-are-no-contacts-added-yet": "There are no contacts added yet.", + "there-are-no-donations-yet": "There are no donations yet", + "there-are-no-donors-yet": "There are no donors yet", + "there-are-no-groups-yet": "There are no groups yet", + "there-are-no-organizations-added-yet": "There are no organizations added yet.", + "there-are-no-runners-added-yet": "There are no runners added yet.", + "there-are-no-scans-yet": "There are no scans yet", + "there-are-no-teams-added-yet": "There are no teams added yet.", + "there-are-no-users-added-yet": "There are no users added yet.", + "this-might-take-a-moment": "This might take a moment 👀", + "this-scanstation-is": "This scanstation is", + "total-distance": "total distance", + "total-donation-amount": "total donation amount", + "total-donations": "total donations", + "total-scans": "total scans", + "track": "Track", + "track-added": "Track added", + "track-data-is-being-loaded": "Track data is being loaded", + "track-is-being-added": "Track is being added...", + "track-length-in-m": "Track Length in m", + "track-length-must-be-greater-than-0": "Track length must be greater than 0", + "track-name": "Track name", + "track-name-must-not-be-empty": "Track name must not be empty", + "tracks": "Tracks", + "update-password": "Update password", + "updated-contact": "Updated contact!", + "updated-donor": "updated donor", + "updated-organization": "updated organization", + "updated-scan": "updated scan", + "updateing-group": "updateing group...", + "updating-organization": "updating organization", + "updating-permissions": "updating permissions...", + "updating-runner": "Updating runner...", + "updating-user": "updating user...", + "updating-your-profile": "Updating your profile...", + "user-added": "User added", + "user-groups": "User Groups", + "user-is-being-added": "User is being added...", + "user-updated": "User updated", + "username": "Username", + "users": "Users", + "valid": "Valid", + "valid-city-is-required": "Valid city is required", + "valid-email-is-required": "valid email is required", + "valid-international-phone-number-is-required": "valid international phone number is required...", + "valid-zipcode-postal-code-is-required": "Valid zipcode/ postal code is required", + "verfuegbare": "availdable", + "welcome_wavinghand": "Welcome 👋", + "yes-i-copied-the-token": "Yes, I copied the token", + "you-are-going-to-loose-all-permissions-and-access-to-the-runner-system": "You are going to loose all permissions and access to the runner system!", + "you-can-now-use-your-new-password-to-log-in-to-your-account": "You can now use your new password to log in to your account! 🎉", + "you-dont-have-any-scanstations-yet": "You don't have any scanstations yet", + "you-have-to-provide-an-organization": "You have to provide an organization", + "zip-postal-code": "ZIP/ postal code", + "cards": "Cards", + "add-card": "Add Card" +} From 2d0beaaaad4efefd036bbef09f10c8c22bdb2760 Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Tue, 23 Mar 2021 17:19:10 +0100 Subject: [PATCH 04/94] Added CardsEmptyState + Emtystate graphic ref #94 --- src/components/cards/CardsEmptyState.svelte | 12 ++++++++++++ src/components/cards/cards.svg | 1 + src/locales/de.json | 4 +++- src/locales/en.json | 4 +++- 4 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 src/components/cards/CardsEmptyState.svelte create mode 100644 src/components/cards/cards.svg diff --git a/src/components/cards/CardsEmptyState.svelte b/src/components/cards/CardsEmptyState.svelte new file mode 100644 index 00000000..ada94cff --- /dev/null +++ b/src/components/cards/CardsEmptyState.svelte @@ -0,0 +1,12 @@ + + +
+

+ + {$_('there-are-no-cards-yet')}
+ {$_('add-your-first-card')} +

+
diff --git a/src/components/cards/cards.svg b/src/components/cards/cards.svg new file mode 100644 index 00000000..bd82462d --- /dev/null +++ b/src/components/cards/cards.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/locales/de.json b/src/locales/de.json index 47a68a28..dc2eaed6 100644 --- a/src/locales/de.json +++ b/src/locales/de.json @@ -378,5 +378,7 @@ "you-have-to-provide-an-organization": "Du musst eine Organisation angeben", "zip-postal-code": "Postleitzahl", "cards": "LĂ€uferkarten", - "add-card": "Karte erstellen" + "add-card": "Karte erstellen", + "add-your-first-card": "Erstelle deine erste LĂ€uferkarte", + "there-are-no-cards-yet": "Es gibt noch keine LĂ€uferkarten." } diff --git a/src/locales/en.json b/src/locales/en.json index 8bef7043..68e4482a 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -378,5 +378,7 @@ "you-have-to-provide-an-organization": "You have to provide an organization", "zip-postal-code": "ZIP/ postal code", "cards": "Cards", - "add-card": "Add Card" + "add-card": "Add Card", + "add-your-first-card": "Add your first card", + "there-are-no-cards-yet": "There are no cards yet." } From c6a15264b3d13d516f3d97ea4b891ed1c328cead Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Tue, 23 Mar 2021 17:29:21 +0100 Subject: [PATCH 05/94] Added basic card overview ref #94 --- src/components/cards/CardsOverview.svelte | 172 ++++++++++++++++++++++ src/locales/de.json | 7 +- src/locales/en.json | 7 +- 3 files changed, 184 insertions(+), 2 deletions(-) create mode 100644 src/components/cards/CardsOverview.svelte diff --git a/src/components/cards/CardsOverview.svelte b/src/components/cards/CardsOverview.svelte new file mode 100644 index 00000000..2738c6b0 --- /dev/null +++ b/src/components/cards/CardsOverview.svelte @@ -0,0 +1,172 @@ + + +{#if store.state.jwtinfo.userdetails.permissions.includes('CARD:GET')} + {#await cards_promise} + + {:then} + {#if current_cards.length === 0} + + {:else} + +
+ + + + + + + + + + + {#each current_cards as card} + {#if card.code + .toLowerCase() + .includes( + searchvalue.toLowerCase() + ) || card.runner?.firstname + .toLowerCase() + .includes( + searchvalue.toLowerCase() + ) || card.runner?.middlename + .toLowerCase() + .includes( + searchvalue.toLowerCase() + ) || card.runner?.lastname + .toLowerCase() + .includes( + searchvalue.toLowerCase() + ) || should_display_based_on_id(card.id)} + + + + + + {#if active_deletes[card.id] === true} + + {:else} + + {/if} + + {/if} + {/each} + +
+ {$_('code')} + + {$_('runner')} + + {$_('status')} + + {$_('action')} +
+
+ {card.code} +
+
+ + +
+ {#if card.enabled} + {$_('enabled_large')} + {:else} + {$_('disabled')} + {/if} +
+
+ + + + {$_('details')} + {#if store.state.jwtinfo.userdetails.permissions.includes('CARD:DELETE')} + + {/if} +
+
+ {/if} + {:catch error} +
+ + {$_('general_promise_error')} + {error} + +
+ {/await} +{/if} diff --git a/src/locales/de.json b/src/locales/de.json index dc2eaed6..92903e49 100644 --- a/src/locales/de.json +++ b/src/locales/de.json @@ -380,5 +380,10 @@ "cards": "LÀuferkarten", "add-card": "Karte erstellen", "add-your-first-card": "Erstelle deine erste LÀuferkarte", - "there-are-no-cards-yet": "Es gibt noch keine LÀuferkarten." + "there-are-no-cards-yet": "Es gibt noch keine LÀuferkarten.", + "loading-cards": "LÀuferkarten werden geladen", + "code": "Code", + "enabled_large": "Aktiviert", + "disabled": "Deaktiviert", + "card-deleted": "Karte gelöscht" } diff --git a/src/locales/en.json b/src/locales/en.json index 68e4482a..77d07978 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -380,5 +380,10 @@ "cards": "Cards", "add-card": "Add Card", "add-your-first-card": "Add your first card", - "there-are-no-cards-yet": "There are no cards yet." + "there-are-no-cards-yet": "There are no cards yet.", + "loading-cards": "Loading cards", + "code": "Code", + "enabled_large": "Enabled", + "disabled": "Disabled", + "card-deleted": "Card deleted" } From e852305400a139f8169350077c30012aed556828 Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Tue, 23 Mar 2021 17:31:11 +0100 Subject: [PATCH 06/94] Now routing the cards page ref #94 --- src/App.svelte | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/App.svelte b/src/App.svelte index 5b78d33f..e13ce05e 100644 --- a/src/App.svelte +++ b/src/App.svelte @@ -69,11 +69,11 @@ import Donations from "./components/donations/Donations.svelte"; import DonationDetail from "./components/donations/DonationDetail.svelte"; import GroupDetail from "./components/groups/GroupDetail.svelte"; - import ScanStationsOverview from "./components/scanstations/ScanStationsOverview.svelte"; import ScanStations from "./components/scanstations/ScanStations.svelte"; import ScanStationDetail from "./components/scanstations/ScanStationDetail.svelte"; import Scans from "./components/scans/Scans.svelte"; -import ScanDetail from "./components/scans/ScanDetail.svelte"; + import ScanDetail from "./components/scans/ScanDetail.svelte"; + import Cards from "./components/cards/Cards.svelte"; store.init(); registerSW(); @@ -185,6 +185,14 @@ import ScanDetail from "./components/scans/ScanDetail.svelte"; + + + + + + From 77e9c205f94cf56c2e3584444899adb1e8bdf3c6 Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Tue, 23 Mar 2021 17:34:01 +0100 Subject: [PATCH 07/94] Now importing runner overview ref #94 --- src/components/cards/Cards.svelte | 4 ++-- src/components/cards/CardsOverview.svelte | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/components/cards/Cards.svelte b/src/components/cards/Cards.svelte index d51d5f53..8aa5a593 100644 --- a/src/components/cards/Cards.svelte +++ b/src/components/cards/Cards.svelte @@ -2,7 +2,7 @@ import { _ } from "svelte-i18n"; import store from "../../store"; // import AddCardModal from "./AddCardModal.svelte"; - // import CardsOverview from "./CardsOverview.svelte"; + import CardsOverview from "./CardsOverview.svelte"; $: current_cards = []; export let modal_open = false; @@ -21,7 +21,7 @@ {/if} - + {#if store.state.jwtinfo.userdetails.permissions.includes('CARD:CREATE')} diff --git a/src/components/cards/CardsOverview.svelte b/src/components/cards/CardsOverview.svelte index 2738c6b0..981f87d2 100644 --- a/src/components/cards/CardsOverview.svelte +++ b/src/components/cards/CardsOverview.svelte @@ -2,7 +2,6 @@ import { getLocaleFromNavigator, _ } from "svelte-i18n"; import { RunnerCardService, - ScanService, } from "@odit/lfk-client-js"; import store from "../../store"; import Toastify from "toastify-js"; From a516aa7775faa2244862bb2e3c4de623c6405e5b Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Tue, 23 Mar 2021 17:34:25 +0100 Subject: [PATCH 08/94] Formatting ref #94 --- src/components/cards/CardsOverview.svelte | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/src/components/cards/CardsOverview.svelte b/src/components/cards/CardsOverview.svelte index 981f87d2..73261936 100644 --- a/src/components/cards/CardsOverview.svelte +++ b/src/components/cards/CardsOverview.svelte @@ -1,17 +1,17 @@ + +{#if modal_open} +
{ + modal_open = false; + }}> +
+ +
+
+{/if} diff --git a/src/locales/de.json b/src/locales/de.json index 70c246c5..0132b26d 100644 --- a/src/locales/de.json +++ b/src/locales/de.json @@ -391,5 +391,9 @@ "card-added": "Karte wurde hinzugefĂŒgt", "create-a-new-card": "Neue LĂ€uferkarte erstellen", "you-can-provide-a-runner-but-you-dont-have-to": "Du kannst eine LĂ€ufer:in angeben, musst aber nicht.", - "if-you-want-to-create-multiple-blanco-cards-try-the-add-bulk-button": "Wenn du mehrere Blankokarten erstellen willst, nutze doch den \"Blankokarten erstellen\" Knopf." + "if-you-want-to-create-multiple-blanco-cards-try-the-add-bulk-button": "Wenn du mehrere Blankokarten erstellen willst, nutze doch den \"Blankokarten erstellen\" Knopf.", + "create-bulk-blanco-cards": "Blankokarten erstellen", + "just-enter-how-many-you-want-and-the-system-will-create-them": "Geb einfach ein, wie viele Blankokarten das System erstellen soll.", + "amount": "Anzahl", + "you-must-create-at-least-one-card-or-cancel": "Du musst mindestens eine Blankokarte erstellen (oder abbrechen)." } diff --git a/src/locales/en.json b/src/locales/en.json index 7fb6c011..a2b9496b 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -391,5 +391,9 @@ "card-added": "Card added", "create-a-new-card": "Create a new card", "you-can-provide-a-runner-but-you-dont-have-to": "You can provide a runner, but you don't have to.", - "if-you-want-to-create-multiple-blanco-cards-try-the-add-bulk-button": "If you want to create multiple blanco cards: Try the 'Add bulk' button." + "if-you-want-to-create-multiple-blanco-cards-try-the-add-bulk-button": "If you want to create multiple blanco cards: Try the 'Add bulk' button.", + "create-bulk-blanco-cards": "Create bulk blanco cards", + "just-enter-how-many-you-want-and-the-system-will-create-them": "Just enter how many you want and the system will create them", + "amount": "Amount", + "you-must-create-at-least-one-card-or-cancel": "You must create at least one card (or cancel)." } From f46ccb610e01654a4ee5e47d78ab500045dd494b Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Tue, 23 Mar 2021 18:41:00 +0100 Subject: [PATCH 12/94] Added bulk creation modal to cards view ref #94 --- src/components/cards/AddCardBulkModal.svelte | 18 ++++++------------ src/components/cards/Cards.svelte | 11 +++++++++++ src/locales/de.json | 3 ++- src/locales/en.json | 5 +++-- 4 files changed, 22 insertions(+), 15 deletions(-) diff --git a/src/components/cards/AddCardBulkModal.svelte b/src/components/cards/AddCardBulkModal.svelte index 9b7dfa6d..bc4bdf0f 100644 --- a/src/components/cards/AddCardBulkModal.svelte +++ b/src/components/cards/AddCardBulkModal.svelte @@ -5,9 +5,8 @@ import { RunnerCardService } from "@odit/lfk-client-js"; - import Select from "svelte-select"; import Toastify from "toastify-js"; - export let modal_open; + export let bulk_modal_open; export let current_cards; function focus(el) { el.focus(); @@ -15,17 +14,12 @@ $: card_count = 0; $: is_card_count_valid= card_count>0; $: processed_last_submit = true; - RunnerService.runnerControllerGetAll().then((val) => { - runners = val.map((r) => { - return { label: getRunnerLabel(r), value: r }; - }); - }); $: createbtnenabled = is_card_count_valid; (() => { document.onkeydown = (e) => { e = e || window.event; if (e.key === "Escape") { - modal_open = false; + bulk_modal_open = false; } if (e.keyCode === 13) { if (createbtnenabled === true) { @@ -50,7 +44,7 @@ RunnerCardService.runnerCardControllerPost(postdata) .then((result) => { runner = 0; - modal_open = false; + bulk_modal_open = false; // Toastify({ text: $_("card-added"), @@ -72,13 +66,13 @@ } -{#if modal_open} +{#if bulk_modal_open}
{ - modal_open = false; + bulk_modal_open = false; }}>
@@ -161,7 +155,7 @@ + {/if} @@ -26,4 +36,5 @@ {#if store.state.jwtinfo.userdetails.permissions.includes('CARD:CREATE')} + {/if} diff --git a/src/locales/de.json b/src/locales/de.json index 0132b26d..ff1ebe21 100644 --- a/src/locales/de.json +++ b/src/locales/de.json @@ -395,5 +395,6 @@ "create-bulk-blanco-cards": "Blankokarten erstellen", "just-enter-how-many-you-want-and-the-system-will-create-them": "Geb einfach ein, wie viele Blankokarten das System erstellen soll.", "amount": "Anzahl", - "you-must-create-at-least-one-card-or-cancel": "Du musst mindestens eine Blankokarte erstellen (oder abbrechen)." + "you-must-create-at-least-one-card-or-cancel": "Du musst mindestens eine Blankokarte erstellen (oder abbrechen).", + "create-bulk-cards": "Blankokarten erstellen" } diff --git a/src/locales/en.json b/src/locales/en.json index a2b9496b..82c6e3b7 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -391,9 +391,10 @@ "card-added": "Card added", "create-a-new-card": "Create a new card", "you-can-provide-a-runner-but-you-dont-have-to": "You can provide a runner, but you don't have to.", - "if-you-want-to-create-multiple-blanco-cards-try-the-add-bulk-button": "If you want to create multiple blanco cards: Try the 'Add bulk' button.", + "if-you-want-to-create-multiple-blanco-cards-try-the-add-bulk-button": "If you want to create multiple blanco cards: Try the 'Add blanco cards' button.", "create-bulk-blanco-cards": "Create bulk blanco cards", "just-enter-how-many-you-want-and-the-system-will-create-them": "Just enter how many you want and the system will create them", "amount": "Amount", - "you-must-create-at-least-one-card-or-cancel": "You must create at least one card (or cancel)." + "you-must-create-at-least-one-card-or-cancel": "You must create at least one card (or cancel).", + "create-bulk-cards": "Add blanco cards" } From 3cd0468b1921824b131178cb02677540b079f9b0 Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Tue, 23 Mar 2021 18:57:13 +0100 Subject: [PATCH 13/94] Bumped lfk client lib version ref #94 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 60a7a41b..a3e0c144 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ }, "license": "CC-BY-NC-SA-4.0", "dependencies": { - "@odit/lfk-client-js": "0.6.4", + "@odit/lfk-client-js": "0.7.0", "csvtojson": "^2.0.10", "gridjs": "3.3.0", "localforage": "1.9.0", From 7ad6b73574174f24f2d6f23b3caf4823881a85e7 Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Tue, 23 Mar 2021 19:55:55 +0100 Subject: [PATCH 14/94] Implemented bulk creation ref #94 --- src/components/cards/AddCardBulkModal.svelte | 62 ++++++++------------ src/locales/de.json | 4 +- src/locales/en.json | 4 +- 3 files changed, 32 insertions(+), 38 deletions(-) diff --git a/src/components/cards/AddCardBulkModal.svelte b/src/components/cards/AddCardBulkModal.svelte index bc4bdf0f..e43f79d9 100644 --- a/src/components/cards/AddCardBulkModal.svelte +++ b/src/components/cards/AddCardBulkModal.svelte @@ -2,9 +2,7 @@ import { _ } from "svelte-i18n"; import { clickOutside } from "../base/outsideclick"; import { focusTrap } from "svelte-focus-trap"; - import { - RunnerCardService - } from "@odit/lfk-client-js"; + import { RunnerCardService } from "@odit/lfk-client-js"; import Toastify from "toastify-js"; export let bulk_modal_open; export let current_cards; @@ -12,7 +10,7 @@ el.focus(); } $: card_count = 0; - $: is_card_count_valid= card_count>0; + $: is_card_count_valid = card_count > 0; $: processed_last_submit = true; $: createbtnenabled = is_card_count_valid; (() => { @@ -29,30 +27,22 @@ } }; })(); - //TODO: Creation logic function submit() { if (processed_last_submit === true) { processed_last_submit = false; const toast = Toastify({ - text: $_("adding-card"), + text: $_("creating-blanco-cards"), duration: -1, }).showToast(); - let postdata = { - runner, - enabled, - }; - RunnerCardService.runnerCardControllerPost(postdata) + RunnerCardService.runnerCardControllerPostBlancoBulk(card_count) .then((result) => { - runner = 0; bulk_modal_open = false; // Toastify({ - text: $_("card-added"), + text: $_("created-blanco-cards"), duration: 500, backgroundColor: "linear-gradient(to right, #00b09b, #96c93d)", }).showToast(); - current_cards.push(result); - current_cards = current_cards; }) .catch((err) => { // @@ -118,27 +108,27 @@ -
- - {$_('cards')} -
- {#if !is_card_count_valid} - - {$_('you-must-create-at-least-one-card-or-cancel')} - - {/if} +
+ + {$_('cards')} +
+ {#if !is_card_count_valid} + + {$_('you-must-create-at-least-one-card-or-cancel')} + + {/if}
diff --git a/src/locales/de.json b/src/locales/de.json index ff1ebe21..d97367fd 100644 --- a/src/locales/de.json +++ b/src/locales/de.json @@ -396,5 +396,7 @@ "just-enter-how-many-you-want-and-the-system-will-create-them": "Geb einfach ein, wie viele Blankokarten das System erstellen soll.", "amount": "Anzahl", "you-must-create-at-least-one-card-or-cancel": "Du musst mindestens eine Blankokarte erstellen (oder abbrechen).", - "create-bulk-cards": "Blankokarten erstellen" + "create-bulk-cards": "Blankokarten erstellen", + "creating-blanco-cards": "Erstelle Blankokarten", + "created-blanco-cards": "Blankokarten wurden erstellt" } diff --git a/src/locales/en.json b/src/locales/en.json index 82c6e3b7..36fb807f 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -396,5 +396,7 @@ "just-enter-how-many-you-want-and-the-system-will-create-them": "Just enter how many you want and the system will create them", "amount": "Amount", "you-must-create-at-least-one-card-or-cancel": "You must create at least one card (or cancel).", - "create-bulk-cards": "Add blanco cards" + "create-bulk-cards": "Add blanco cards", + "creating-blanco-cards": "Creating blanco cards", + "created-blanco-cards": "Created blanco cards" } From 0313f8cc495088df1237d00e6b9ed1a94f019644 Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Wed, 24 Mar 2021 16:43:05 +0100 Subject: [PATCH 15/94] Added runnercard detail/edit modal ref #94 --- src/components/cards/CardDetailModal.svelte | 193 ++++++++++++++++++++ src/components/cards/Cards.svelte | 6 + src/locales/de.json | 4 +- src/locales/en.json | 5 +- 4 files changed, 206 insertions(+), 2 deletions(-) create mode 100644 src/components/cards/CardDetailModal.svelte diff --git a/src/components/cards/CardDetailModal.svelte b/src/components/cards/CardDetailModal.svelte new file mode 100644 index 00000000..feade63b --- /dev/null +++ b/src/components/cards/CardDetailModal.svelte @@ -0,0 +1,193 @@ + + +{#if edit_modal_open} +
{ + edit_modal_open = false; + }}> +
+ +
+{/if} diff --git a/src/components/cards/Cards.svelte b/src/components/cards/Cards.svelte index 3a17d61c..c3a62f90 100644 --- a/src/components/cards/Cards.svelte +++ b/src/components/cards/Cards.svelte @@ -3,10 +3,13 @@ import store from "../../store"; import AddCardBulkModal from "./AddCardBulkModal.svelte"; import AddCardModal from "./AddCardModal.svelte"; +import CardDetailModal from "./CardDetailModal.svelte"; import CardsOverview from "./CardsOverview.svelte"; $: current_cards = []; export let modal_open = false; export let bulk_modal_open = false; + export let edit_modal_open = true; + export let edit_card_id = 1;
@@ -38,3 +41,6 @@ import AddCardBulkModal from "./AddCardBulkModal.svelte"; {/if} +{#if store.state.jwtinfo.userdetails.permissions.includes('CARD:UPDATE')} + +{/if} diff --git a/src/locales/de.json b/src/locales/de.json index d97367fd..c1ac1637 100644 --- a/src/locales/de.json +++ b/src/locales/de.json @@ -398,5 +398,7 @@ "you-must-create-at-least-one-card-or-cancel": "Du musst mindestens eine Blankokarte erstellen (oder abbrechen).", "create-bulk-cards": "Blankokarten erstellen", "creating-blanco-cards": "Erstelle Blankokarten", - "created-blanco-cards": "Blankokarten wurden erstellt" + "created-blanco-cards": "Blankokarten wurden erstellt", + "edit-a-card": "LĂ€uferkarte bearbeiten", + "this-card-is": "Diese Karte ist" } diff --git a/src/locales/en.json b/src/locales/en.json index 36fb807f..01824685 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -398,5 +398,8 @@ "you-must-create-at-least-one-card-or-cancel": "You must create at least one card (or cancel).", "create-bulk-cards": "Add blanco cards", "creating-blanco-cards": "Creating blanco cards", - "created-blanco-cards": "Created blanco cards" + "created-blanco-cards": "Created blanco cards", + "edit-a-card": "Edit a card", + "this-card-is": "This card is", + "update-card": "Update Card" } From fac059f02cae84261443ee95448ec8db06dd755a Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Wed, 24 Mar 2021 16:58:06 +0100 Subject: [PATCH 16/94] Now w/working editing ref #94 --- src/components/cards/CardDetailModal.svelte | 42 +++++++++++---------- src/locales/de.json | 4 +- src/locales/en.json | 4 +- 3 files changed, 29 insertions(+), 21 deletions(-) diff --git a/src/components/cards/CardDetailModal.svelte b/src/components/cards/CardDetailModal.svelte index feade63b..77d4128d 100644 --- a/src/components/cards/CardDetailModal.svelte +++ b/src/components/cards/CardDetailModal.svelte @@ -2,10 +2,7 @@ import { _ } from "svelte-i18n"; import { clickOutside } from "../base/outsideclick"; import { focusTrap } from "svelte-focus-trap"; - import { - RunnerCardService, - RunnerService, - } from "@odit/lfk-client-js"; + import { RunnerCardService, RunnerService } from "@odit/lfk-client-js"; import Select from "svelte-select"; import Toastify from "toastify-js"; export let edit_modal_open; @@ -22,7 +19,7 @@ $: runner = {}; $: runners = []; $: editable = {}; - $: original_date = {}; + $: original_data = {}; $: enabled = true; $: processed_last_submit = true; RunnerService.runnerControllerGetAll().then((val) => { @@ -31,12 +28,17 @@ }); }); RunnerCardService.runnerCardControllerGetOne(edit_card_id).then((val) => { - runner = Object.assign({ runner }, {label: getRunnerLabel(val.runner), value: val.runner}); + runner = Object.assign( + { runner }, + { label: getRunnerLabel(val.runner), value: val.runner } + ); val.runner = val.runner?.id; editable = Object.assign(editable, val); - original_date = Object.assign(original_date, val); + original_data = Object.assign(original_data, val); }); - $: createbtnenabled = !(JSON.stringify(editable) === JSON.stringify(original_date)); + $: createbtnenabled = !( + JSON.stringify(editable) === JSON.stringify(original_data) + ); (() => { document.onkeydown = (e) => { e = e || window.event; @@ -55,24 +57,24 @@ if (processed_last_submit === true) { processed_last_submit = false; const toast = Toastify({ - text: $_("adding-card"), + text: $_("updating-card"), duration: -1, }).showToast(); - let postdata = { - runner, - enabled, - }; - RunnerCardService.runnerCardControllerPost(postdata) + RunnerCardService.runnerCardControllerPut(original_data.id, editable) .then((result) => { - runner = 0; + runner = {}; + editable = {}; + original_data = {}; edit_modal_open = false; // Toastify({ - text: $_("card-added"), + text: $_("card-updated"), duration: 500, backgroundColor: "linear-gradient(to right, #00b09b, #96c93d)", - }).showToast(); - current_cards.push(result); + }).showToast(); + current_cards[ + current_cards.findIndex((c) => c.id === edit_card_id) + ] = result; current_cards = current_cards; }) .catch((err) => { @@ -162,7 +164,9 @@ checked={editable.enabled} class="focus:ring-indigo-500 h-4 w-4 text-indigo-600 border-gray-300 rounded" /> {$_('this-card-is')} - {#if editable.enabled}{$_('enabled')}{:else}{$_('disabled')}{/if} + {#if editable.enabled} + {$_('enabled')} + {:else}{$_('disabled')}{/if}

diff --git a/src/locales/de.json b/src/locales/de.json index c1ac1637..3f0b6904 100644 --- a/src/locales/de.json +++ b/src/locales/de.json @@ -400,5 +400,7 @@ "creating-blanco-cards": "Erstelle Blankokarten", "created-blanco-cards": "Blankokarten wurden erstellt", "edit-a-card": "LĂ€uferkarte bearbeiten", - "this-card-is": "Diese Karte ist" + "this-card-is": "Diese Karte ist", + "updating-card": "Karte wird aktualisiert", + "card-updated": "Karte aktualisiert" } diff --git a/src/locales/en.json b/src/locales/en.json index 01824685..7d8dad39 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -401,5 +401,7 @@ "created-blanco-cards": "Created blanco cards", "edit-a-card": "Edit a card", "this-card-is": "This card is", - "update-card": "Update Card" + "update-card": "Update Card", + "updating-card": "Updating card", + "card-updated": "Card updated" } From 076893981ff4f7f17330746c561acc570339adac Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Thu, 25 Mar 2021 17:27:38 +0100 Subject: [PATCH 17/94] =?UTF-8?q?Fixed=20mail=20login=20bug=F0=9F=90=9E?= =?UTF-8?q?=F0=9F=93=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ref #107 --- src/components/auth/Login.svelte | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/components/auth/Login.svelte b/src/components/auth/Login.svelte index 35fbbe38..6be88339 100644 --- a/src/components/auth/Login.svelte +++ b/src/components/auth/Login.svelte @@ -5,6 +5,7 @@ store.init(); import { OpenAPI, AuthService } from "@odit/lfk-client-js"; import Footer from "../general/Footer.svelte"; + import isEmail from "validator/es/lib/isEmail"; import Toastify from "toastify-js"; // ------ let username = config.default_username || ""; @@ -36,10 +37,19 @@ text: $_("login_is_checked"), duration: 500, }).showToast(); - AuthService.authControllerLogin({ - username, - password, - }) + let postdata = {}; + if (isEmail(username)) { + postdata = { + email: username, + password, + }; + } else { + postdata = { + username, + password, + }; + } + AuthService.authControllerLogin(postdata) .then(async (result) => { await localForage.setItem("logindata", result); OpenAPI.TOKEN = result.access_token; From fbe74a5d8090553a35576a17c97019939cf4f386 Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Thu, 25 Mar 2021 17:31:53 +0100 Subject: [PATCH 18/94] Commented out the buggy runner search to prevent bad UX ref #107 --- src/components/runners/RunnersOverview.svelte | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/runners/RunnersOverview.svelte b/src/components/runners/RunnersOverview.svelte index bfc06a15..089392c5 100644 --- a/src/components/runners/RunnersOverview.svelte +++ b/src/components/runners/RunnersOverview.svelte @@ -115,12 +115,12 @@ {#if current_runners.length === 0} {:else} - + class="gridjs-input gridjs-search-input mb-4" /> -->
From f185d559c0d6476f2f2b9ea74aaad3297411801d Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Fri, 26 Mar 2021 18:01:34 +0100 Subject: [PATCH 60/94] Formatting ref #112 --- src/components/orgs/OrgDetail.svelte | 4 ++-- .../scanstations/CopyScanStationTokenModal.svelte | 12 ++++++++---- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/components/orgs/OrgDetail.svelte b/src/components/orgs/OrgDetail.svelte index 823887ec..8f844f44 100644 --- a/src/components/orgs/OrgDetail.svelte +++ b/src/components/orgs/OrgDetail.svelte @@ -35,7 +35,7 @@ $: sponsoring_contracts_show = true; $: cards_show = true; $: generate_orgs = [original_object]; - $: registrationLink = `${config.baseurl}/selfservice/register/${editable.registrationKey}` + $: registrationLink = `${config.baseurl}/selfservice/register/${editable.registrationKey}`; const getContactLabel = (option) => option.firstname + " " + (option.middlename || "") + " " + option.lastname; const promise = RunnerOrganizationService.runnerOrganizationControllerGetOne( @@ -126,7 +126,7 @@ throw new Error(); } Toastify({ - text: $_('copied-link-to-clipboard'), + text: $_("copied-link-to-clipboard"), duration: 500, backgroundColor: "linear-gradient(to right, #00b09b, #96c93d)", }).showToast(); diff --git a/src/components/scanstations/CopyScanStationTokenModal.svelte b/src/components/scanstations/CopyScanStationTokenModal.svelte index 6fa4db58..96c0d8ad 100644 --- a/src/components/scanstations/CopyScanStationTokenModal.svelte +++ b/src/components/scanstations/CopyScanStationTokenModal.svelte @@ -23,14 +23,14 @@ throw new Error(); } Toastify({ - text: $_('copied-token-to-clipboard'), + text: $_("copied-token-to-clipboard"), duration: 500, backgroundColor: "linear-gradient(to right, #00b09b, #96c93d)", }).showToast(); copied = true; } catch (err) { Toastify({ - text: $_('error-whyile-copying-to-clipboard'), + text: $_("error-whyile-copying-to-clipboard"), duration: 500, backgroundColor: "linear-gradient(90deg, hsla(281, 37%, 45%, 1) 0%, hsla(1, 62%, 48%, 1) 100%)", @@ -75,7 +75,9 @@ d="M4 5v11h16V5H4zM2 4a1 1 0 011-1h18a1 1 0 011 1v14H2V4zM1 19h22v2H1v-2z" />
-

{$_('token')}

+

+ {$_('token')} +

{$_('the-scanstations-api-token-will-only-get-displayed-once-you-wont-be-able-to-change-or-view-it-again')} @@ -106,7 +108,9 @@ d="M7 4V2h10v2h3l1 1v16a1 1 0 01-1 1H4a1 1 0 01-1-1V5l1-1h3zm0 2H5v14h14V6h-2v2H7V6zm2-2v2h6V4H9z" />

-

{$_('click-to-copy-token-to-clipboard')}

+

+ {$_('click-to-copy-token-to-clipboard')} +

From 2316baa8984832382be9f3b4549ca62cf9ccb5a3 Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Fri, 26 Mar 2021 18:03:58 +0100 Subject: [PATCH 61/94] Added check if key exists --- src/components/orgs/OrgDetail.svelte | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/components/orgs/OrgDetail.svelte b/src/components/orgs/OrgDetail.svelte index 8f844f44..7d487413 100644 --- a/src/components/orgs/OrgDetail.svelte +++ b/src/components/orgs/OrgDetail.svelte @@ -103,6 +103,7 @@ postdata ) .then((resp) => { + editable.registrationKey = resp.registrationKey; original_object = Object.assign({}, editable); original = JSON.stringify(original_object); Toastify({ @@ -332,7 +333,11 @@ name="token" class:bg-green-200={copied} class="mt-1 focus:ring-indigo-500 focus:border-indigo-500 block w-full shadow-sm rounded-l-md sm:text-sm border-gray-300 border bg-gray-50 text-gray-500 p-2"> - {editable.registrationKey || 'Please save your changes'} + {#if editable.registrationKey} + {registrationLink} + {:else} + You have to save your changes to generate a link. + {/if}

From c2d29ff233f6b3e9dd2555b7e0b845592da2ba35 Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Fri, 26 Mar 2021 18:03:58 +0100 Subject: [PATCH 62/94] Added check if key exists ref #112 --- src/components/orgs/OrgDetail.svelte | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/components/orgs/OrgDetail.svelte b/src/components/orgs/OrgDetail.svelte index 8f844f44..7d487413 100644 --- a/src/components/orgs/OrgDetail.svelte +++ b/src/components/orgs/OrgDetail.svelte @@ -103,6 +103,7 @@ postdata ) .then((resp) => { + editable.registrationKey = resp.registrationKey; original_object = Object.assign({}, editable); original = JSON.stringify(original_object); Toastify({ @@ -332,7 +333,11 @@ name="token" class:bg-green-200={copied} class="mt-1 focus:ring-indigo-500 focus:border-indigo-500 block w-full shadow-sm rounded-l-md sm:text-sm border-gray-300 border bg-gray-50 text-gray-500 p-2"> - {editable.registrationKey || 'Please save your changes'} + {#if editable.registrationKey} + {registrationLink} + {:else} + You have to save your changes to generate a link. + {/if}

From a3921b45c70b410293db593a75d2fdd34c131733 Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Fri, 26 Mar 2021 18:11:10 +0100 Subject: [PATCH 63/94] Copy now 100% worX ref #112 --- src/components/orgs/OrgDetail.svelte | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/components/orgs/OrgDetail.svelte b/src/components/orgs/OrgDetail.svelte index 7d487413..6fdcd8d6 100644 --- a/src/components/orgs/OrgDetail.svelte +++ b/src/components/orgs/OrgDetail.svelte @@ -117,6 +117,15 @@ } } async function copy() { + if(!editable.registrationKey){ + Toastify({ + text: $_('you-have-to-save-your-changes-to-generate-a-link'), + duration: 500, + backgroundColor: + "linear-gradient(90deg, hsla(281, 37%, 45%, 1) 0%, hsla(1, 62%, 48%, 1) 100%)", + }).showToast(); + return; + } valueCopy = registrationLink; await tick(); areaDom.focus(); @@ -331,12 +340,11 @@

{#if editable.registrationKey} {registrationLink} {:else} - You have to save your changes to generate a link. + {$_('you-have-to-save-your-changes-to-generate-a-link')} {/if}

+ {#if editable.registrationKey}

{$_('click-to-copy-the-link-into-your-clipboard')}

+ {/if}
{/if} From ddbc293e9ca0525910bf3d995de970ee2c35c56a Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Fri, 26 Mar 2021 18:11:23 +0100 Subject: [PATCH 64/94] Added translations ref #112 --- src/locales/de.json | 3 ++- src/locales/en.json | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/locales/de.json b/src/locales/de.json index a3e3f833..f47b419c 100644 --- a/src/locales/de.json +++ b/src/locales/de.json @@ -416,5 +416,6 @@ "zip-postal-code": "Postleitzahl", "selfservice-registration": "Selfservice Registrierung", "copied-link-to-clipboard": "Link wurde in die Zwischenablage kopiert", - "click-to-copy-the-link-into-your-clipboard": "Klicke auf den Link, um ihn in deine Zwischenablage zu kopieren" + "click-to-copy-the-link-into-your-clipboard": "Klicke auf den Link, um ihn in deine Zwischenablage zu kopieren", + "you-have-to-save-your-changes-to-generate-a-link": "Du musst deine Änderungen speichern, um einen Link zu generieren." } diff --git a/src/locales/en.json b/src/locales/en.json index c451fcee..3f2d5c56 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -417,5 +417,6 @@ "zip-postal-code": "ZIP/ postal code", "selfservice-registration": "Selfservice registration", "copied-link-to-clipboard": "Copied link to clipboard", - "click-to-copy-the-link-into-your-clipboard": "Click to copy the link into your clipboard" + "click-to-copy-the-link-into-your-clipboard": "Click to copy the link into your clipboard", + "you-have-to-save-your-changes-to-generate-a-link": "You have to save your changes to generate a link." } From c074c12be75f285612f7a732c106404d9fb4538a Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Fri, 26 Mar 2021 18:11:49 +0100 Subject: [PATCH 65/94] Sorted translations ref #112 --- src/locales/de.json | 840 +++++++++++++++++++++---------------------- src/locales/en.json | 842 ++++++++++++++++++++++---------------------- 2 files changed, 841 insertions(+), 841 deletions(-) diff --git a/src/locales/de.json b/src/locales/de.json index f47b419c..aeb7503f 100644 --- a/src/locales/de.json +++ b/src/locales/de.json @@ -1,421 +1,421 @@ { - "404message": "Die gesuchte Seite wurde leider nicht gefunden.", - "404title": "Fehler 404", - "about": "Über", - "action": "Aktionen", - "active": "Aktiv", - "add-card": "Karte erstellen", - "add-donation": "Sponsoring erstellen", - "add-donor": "Sponsor:in erstellen", - "add-scan": "Scan erstellen", - "add-the-first-scanstation": "Erstelle deine erste Scannerstation.", - "add-user-group": "Neue Gruppe erstellen", - "add-your-first-card": "Erstelle deine erste LĂ€uferkarte", - "add-your-first-contact": "Erstelle den ersten Kontakt", - "add-your-first-donor": "Erstelle die erste Sponsor:in", - "add-your-first-group": "Erstelle die erste Gruppe", - "add-your-first-organization": "Erstelle die erste Organisation", - "add-your-first-runner": "Erstelle die erste LĂ€ufer:in", - "add-your-first-team": "Erstelle das erste Team", - "add-your-first-track": "Erstelle den ersten Track (Laufstrecke).", - "add-your-first-user": "Erstelle die erste Benutzer:in", - "add-your-fist-donation": "Erstelle dein erstes Sponsoring", - "add-your-fist-scan": "FĂŒge deinen ersten Scan hinzu", - "adding-card": "Karte wird erstellt", - "adding-scan": "Scan wird hinzugefĂŒgt", - "address": "Adresse", - "address-is-required": "Du musst eine Adresse angeben", - "after-deletion-we-cant-restore-your-old-profile": "Nach der Löschung können auch die Admins dein Profil nicht wiederherstellen!", - "after-the-update-youll-get-logged-out-please-login-with-your-new-password-after-that": "Nach der Änderung wirst du abgemeldet - bitte melde dich dann mit deinem neuen Passwort an.", - "all-associated-donations-will-get-deleted-as-well": "Alle Sponsorings dieser Sponsor:in werden ebenfalls gelöscht", - "all-associated-runners-will-be-deleted-too": "Alle zugehörigen LĂ€ufer:innen werden auch gelöscht!", - "all-associated-teams-and-runners-will-be-deleted-too": "Alle assoziierten Teams und LĂ€ufer:innen werden auch gelöscht!", - "amount": "Anzahl", - "amount-per-kilometer": "Betrag pro Kilometer", - "apartment-suite-etc": "Apartment, Wohnung, etc.", - "application_name": "Lauf fĂŒr Kaya! - Admin", - "applying-changes": "Änderungen anwenden", - "attention": "Achtung!", - "author": "Autor:in", - "bitte-bestaetige-diese-laeufer-fuer-den-import": "Bitte die LĂ€ufer:innen fĂŒr den Import bestĂ€tigen.", - "by": "von", - "cancel": "Abbrechen", - "cancel-delete": "Löschen abbrechen", - "cancel-keep-donor": "Abbrechen, Sponsor:in behalten", - "cancel-keep-my-profile": "Abbrechen, mein Profil behalten", - "cancel-keep-organization": "Abbrechen und Organisation bearbeiten", - "cancel-keep-team": "Abbrechen, Team behalten", - "cannot-reset-your-password-directly": "Schade. \nWir können das Passwort leider nicht direkt zurĂŒcksetzen.\nBitte sende uns eine Mail in der du deine IdentitĂ€t bestĂ€tigst.", - "card-added": "Karte wurde hinzugefĂŒgt", - "card-deleted": "Karte gelöscht", - "card-updated": "Karte aktualisiert", - "cards": "LĂ€uferkarten", - "change-your-password-here": "Hier kannst du dein Passwort Ă€ndern", - "changing-your-password": "Passwort wird geĂ€ndert", - "city": "Stadt", - "click-to-copy-token-to-clipboard": "Klicke auf den Token, um ihn in deine Zwischenablage zu kopieren", - "close": "Schließen", - "code": "Code", - "configure-the-tracks-and-minimum-lap-times": "Bearbeite die Tracks und ihre minimale Rundenzeit", - "confirm": "BestĂ€tigen", - "confirm-delete": "Löschung BestĂ€tigen", - "confirm-delete-donor-with-all-donations": "BestĂ€tigen, Sponsor:in mit allen Sponsorings löschen", - "confirm-delete-my-user-profile": "BestĂ€tigung, mein Benutzerprofil löschen", - "confirm-delete-organization-and-associated-teams-runners": "BestĂ€tugung, lösche die Organisation und alle zugehörigen Teams und LĂ€ufer:innen.", - "confirm-delete-team-and-associated-runners": "BestĂ€tigung, lösche das Team mitsamt seinen LĂ€ufer:innen.", - "confirm-deletion": "Löschung BestĂ€tigen", - "confirm-the-new-password": "Neues Passwort bestĂ€tigen", - "contact": "Kontakt", - "contact-deleted": "Kontakt gelöscht", - "contact-information": "Kontaktinformation", - "contact-is-being-updated": "Kontakt wird aktualisiert ...", - "contact-is-not-a-member-in-any-group": "Kontakt gehört zu keiner Gruppe", - "contacts": "Kontakte", - "contacts-are-being-loaded": "Kontakte werden geladen ...", - "copied-token-to-clipboard": "Token wurde in die Zwischenablage kopiert", - "count_organizations": "Organisationen (Anzahl)", - "count_teams": "Teams (Anzahl)", - "create": "Erstellen", - "create-a-new": "Erstelle eine neue", - "create-a-new-card": "Neue LĂ€uferkarte erstellen", - "create-a-new-contact": "Kontakt erstellen", - "create-a-new-distance-donation": "Erstelle ein neues Sponsoring", - "create-a-new-donor": "Neue Sponsor:in erstellen", - "create-a-new-fixed-donation": "Erstelle eine neue Festbetragsspende", - "create-a-new-organization": "Neue Organisation anlegen", - "create-a-new-runner": "Neue LĂ€ufer:in erstellen", - "create-a-new-scan-fixed-only": "Neuen Scan erstellen (nur mit Festdistanz)", - "create-a-new-scanstation": "Neue Station erstellen", - "create-a-new-team": "Erstelle ein neues Team", - "create-a-new-track": "Neuen Track erstellen", - "create-a-new-user": "Neue Benutzer:in anlegen", - "create-a-new-user-group": "Erstelle eine neue Gruppe", - "create-bulk-blanco-cards": "Blankokarten erstellen", - "create-bulk-cards": "Blankokarten erstellen", - "create-organization": "Organisation erstellen", - "create-team": "Team erstellen", - "create-track": "Track erstellen", - "create-user": "Benutzer anlegen", - "created-blanco-cards": "Blankokarten wurden erstellt", - "creating-blanco-cards": "Erstelle Blankokarten", - "credits": "Credits", - "csv_import__class": "Klasse", - "csv_import__firstname": "Vorname", - "csv_import__lastname": "Nachname", - "csv_import__middlename": "Mittelname", - "csv_import__team": "Team", - "danger-zone": "Gefahrenzone", - "dashboard-greeting": "Hallo", - "dashboard-title": "Dashboard", - "datatable": { - "search": "🔍 Suche ...", - "an_error_happened_while_fetching_the_data": "Beim Abrufen der Daten ist ein Fehler aufgetreten", - "loading": "Wird geladen...", - "next": "NĂ€chste", - "of": "von", - "previous": "Vorherige", - "to": "bis", - "showing": "Zeige", - "no_matching_records_found": "Keine passenden EintrĂ€ge gefunden", - "page": "Seite", - "records": "EintrĂ€ge", - "sort_column_ascending": "Spalte aufsteigend sortieren", - "sort_column_descending": "Spalte absteigend sortieren" - }, - "delete": "Löschen", - "delete-contact": "Kontakt löschen", - "delete-donation": "Sponsporing löschen", - "delete-donor": "Sponsor:in löschen", - "delete-group": "Gruppe löschen", - "delete-organization": "Organisation löschen", - "delete-profile": "Profil löschen", - "delete-runner": "LĂ€ufer:in löschen", - "delete-scan": "Scan löschen", - "delete-station": "Station löschen", - "delete-team": "Team Löschen", - "delete-user": "Benutzer:in löschen", - "deleted-scan": "Scan wurde gelöscht", - "dependency_name": "Name", - "description": "Beschreibung", - "description-optional": "Beschreibung (optional)", - "deselect-all": "Alle abwĂ€hlen", - "details": "Details", - "disabled": "deaktiviert", - "distance": "Distanz", - "distance-donation": "Sponsoring", - "distance-in-km": "Distanz (in KM)", - "distance-track": "Distanz (+Track)", - "do-you-really-want-to-delete-your-profile": "Möchtest du dein Profil wirklich löschen?", - "do-you-want-to-delete-the-organization-delete_org-name": "Möchtest du die Organisation {orgname} löschen?", - "do-you-want-to-delete-the-team-delete_team-name": "Möchtest du das Team {teamname} löschen?", - "do-you-want-to-delete-this-donor-with-all-related-donations": "Möchtest du diese Sponsor:in mit all ihren Sponsorings löschen?", - "documentation": "Dokumentation", - "donation-amount": "Sponsoringbetrag", - "donation-amount-must-be-greater-that-0-00eur": "Der Sponsoringbetrag muss grĂ¶ĂŸer als 0.00€ sein.", - "donations": "Sponsorings", - "donor": "Sponsor:in", - "donor-added": "Sponsor:in hinzugefĂŒgt", - "donor-deleted": "Sponsor:in gelöscht", - "donor-has-no-associated-donations": "Zur Sponsor:in gibt es noch keine Sponsorings", - "donor-is-being-added": "Sponsor:in wird hinzugefĂŒgt...", - "donor-is-being-updated": "Sponsor:in wird aktualisiert", - "donors": "Sponsor:innen", - "donors-are-being-loaded": "Sponsor:innen werden geladen", - "dont-have-your-email-connected": "Deine E-Mail ist nicht verknĂŒpft?", - "dont-panic-were-resetting-it": "Keine Panik, wir setzen es zurĂŒck ✌", - "e-mail-adress": "E-Mail-Adresse", - "edit": "Bearbeiten", - "edit-a-card": "LĂ€uferkarte bearbeiten", - "edit-permissions": "Berechtigungen bearbeiten", - "email_address_or_username": "E-Mail-Adresse/ Benutzername", - "enabled": "aktiviert", - "enabled_large": "Aktiviert", - "english": "Englisch", - "error-during-import": "Fehler beim Importieren", - "error-whyile-copying-to-clipboard": "Fehler beim Kopieren in die Zwischenablage", - "error_on_login": "😱Fehler beim Login", - "erteilte": "Direkt erteilte", - "everything-concerning-your-profile": "Alles zu deinem Profil", - "everything-is-more-fun-together": "Im Team macht's mehr Spaß đŸƒâ€â™‚ïžđŸƒâ€â™€ïžđŸƒâ€â™‚ïž", - "faq": "FAQ", - "filter-by-organization-team": "Filtern nach Organisation / Team", - "first-name": "Vorname", - "first-name-is-required": "Vorname muss angegeben werden", - "first-scan-of-the-day": "Erster Scan des Tages", - "fixed-donation": "Festbetragsspende", - "forgot_password": "Passwort vergessen?", - "geerbte": "geerbte", - "general-stats": "Allgemeine Statistiken", - "general_promise_error": "😱 Ein unbekannter Fehler ist aufgetreten", - "generate-runnercards": "LĂ€uferkarten generieren", - "generate-sponsoring-contract": "Sponsoringvertrag generieren", - "generate-sponsoring-contracts": "SponsoringvertrĂ€ge generieren", - "generating-pdf": "Pdf wird generiert...", - "generating-pdfs": "PDFs werden generiert...", - "generic-ui-logic-error": "Etwas ist in der BenutzeroberflĂ€che schiefgelaufen.", - "german": "Deutsch", - "go-to-login": "Zum Login", - "goback": "Zur Startseite", - "granted": "GewĂ€hrt", - "group": "Gruppe", - "group-added": "Gruppe hinzugefĂŒgt", - "group-is-being-added": "Gruppe wird erstellt", - "group-name-is-required": "Der Gruppenname muss angegeben werden.", - "group-updated": "Gruppe aktualisiert", - "groups": "Gruppen", - "groups-are-being-loaded": "Gruppen werden geladen", - "home": "Start", - "icon-image-credits": "Wir möchten uns außerdem fĂŒr die verwendeten Icons und Bilder bedanken bei:", - "if-you-want-to-create-multiple-blanco-cards-try-the-add-bulk-button": "Wenn du mehrere Blankokarten erstellen willst, nutze doch den \"Blankokarten erstellen\" Knopf.", - "import-finished": "Import abgeschlossen", - "import-runners": "LĂ€ufer:innen importieren", - "import__target-organization": "Ziel Organisation", - "imprint": "Impressum ", - "imprint-loading": "Impressum lĂ€dt...", - "inactive": "Inaktiv", - "installed-version": "Installierte Version", - "internal-error": "Interner Fehler", - "invalid": "UngĂŒltig", - "invalid-mail-reset": "Das ist keine gĂŒltige E-Mail", - "just-enter-how-many-you-want-and-the-system-will-create-them": "Gebe einfach ein, wie viele Blankokarten das System erstellen soll.", - "laeufer-hinzufuegen": "LĂ€ufer:in hinzufĂŒgen", - "laeufer-importieren": "LĂ€ufer:innen importieren", - "laptime": "Rundenzeit", - "last-name": "Nachname", - "last-name-is-required": "Nachname muss angegeben werden", - "lfk-is-os": "Das \"Lauf fĂŒr Kaya!\" Frontend ist (wie alle anderen Projekte fĂŒr den \"LfK!\" auch) ein OpenSource Projekt.", - "license": "Lizenz", - "licenses-are-being-loaded": "Lizenzen werden geladen...", - "loading-cards": "LĂ€uferkarten werden geladen", - "loading-contact-details": "Kontaktdaten werden geladen ...", - "loading-donation-details": "Lade Sponsoringdetails", - "loading-donor-details": "Lade Details", - "loading-group-detail": "Lade Gruppendetails...", - "loading-profile-data": "Lade Profildaten", - "loading-runners": "LĂ€ufer:innen werden geladen...", - "loading-station-details": "Lade Scanstation-Details ...", - "log_in": "Anmelden", - "log_in_to_your_account": "Bitte melde dich an", - "login_is_checked": "Login wird ĂŒberprĂŒft", - "logout": "Abmelden", - "mail-validation-in-progress": "E-Mail Verifizierung lĂ€uft... ", - "manage-admin-users": "Nutzer verwalten", - "middle-name": "Mittelname", - "minimum-lap-time-in-s": "Minimale Rundenzeit (in Sekunden)", - "minimum-lap-time-must-be-a-positive-number-or-0": "Die minimale Rundenzeit muss eine positive Zahl oder 0 sein", - "name": "Name", - "name-is-required": "Der Gruppenname muss angegeben werden", - "new-password": "Neues Passwort", - "no-contact-found": "Keine Kontakte gefunden", - "no-contact-selected": "Kein Kontakt ausgewĂ€hlt", - "no-contact-specified": "Kein Kontakt angegeben", - "no-donors-found": "Keine Spender:innen gefunden", - "no-license-text-could-be-found": "Kein Lizenz-Text gefunden 😱", - "no-organization-or-team-found": "Keine Organisationen oder Teams gefunden", - "no-organization-specified": "Keine Organisation angegeben", - "no-organizations-found": "Keine Organisationen gefunden", - "no-runners-found": "Keine LĂ€ufer:innen gefunden", - "no-tracks-added-yet": "Es wurden noch keine Tracks erstellt.", - "non-blanko": "Keine/Blankokarte", - "organization": "Organisation", - "organization-added": "Organisation hinzugefĂŒgt", - "organization-deleted": "Organisation gelöscht", - "organization-detail-is-being-loaded": "Organisationsdetails werden geladen ...", - "organization-is-being-added": "Organisation wird hinzugefĂŒgt ...", - "organization-name-is-required": "Der Name muss angegeben werden", - "organizations": "Organisationen", - "organizations-are-being-loaded": "Organisationen werden geladen ...", - "orgs": "Organisationen", - "oss_credit_description": "Wir verwenden eine Menge Open Source-Software bei diesen Projekten und möchten uns bei den folgenden Projekten und Mitwirkenden bedanken, die dazu beitragen, Open Source großartig zu machen!", - "password": "Passwort", - "password-changed": "Passwort wurde aktualisiert!", - "password-is-required": "Passwort muss angegeben werden", - "password-reset-failed": "Passwort zurĂŒcksetzen ist fehlgeschlagen!", - "password-reset-in-progress": "Passwort wird zurĂŒckgesetzt...", - "password-reset-mail-sent": "Passwort-Reset Mail wurde an \"{usersEmail}\" geschickt.", - "password-reset-successful": "Passwort erfolgreich zurĂŒckgesetzt!", - "passwords-dont-match": "Die Passwörter stimmen nicht ĂŒberein.", - "pdf-generation-failed": "PDF Generierung fehlgeschlagen!", - "pdf-successfully-generated": "PDF wurde erfolgreich generiert!", - "pdfs-successfully-generated": "Alle PDFs wurden generiert!", - "per-kilometer": "pro Kilometer", - "permissions": "Berechtigungen", - "permissions-updated": "Berechtigungen aktualisiert!", - "phone": "Telefon", - "please-copy-the-token-and-store-it-somewhere-save": "Bitte kopiere dir den Token und bewahre ihn gut auf.", - "please-provide-a-password": "Bitte gebe ein Passwort an...", - "please-provide-the-nessecary-information-to-add-a-new-donor": "Bitte mach die Notwendigen Angaben, um eine neue Sponsor:in zu erstellen", - "please-provide-the-nessecary-information-to-create-a-new-donation": "Bitte gebe alle fĂŒr das Sponsoring notwendigen Daten an.", - "please-provide-the-nessecary-information-to-create-a-new-scan": "Bitte gebe alle notwendigen Informationen an, um einen neuen Scan zu erstellen.", - "please-provide-the-required-csv-xlsx-file": "Bitte eine CSV oder XLSX Datei hochladen.", - "please-provide-the-required-information-for-creating-a-new-user-group": "Bitte gebe alle fĂŒr eine neue Gruppe notwendigen Informationen an.", - "please-provide-the-required-information-to-add-a-new-contact": "Bitte gebe alle nötigen Informationen an, im den neuen Kontakt zu erstellen.", - "please-provide-the-required-information-to-add-a-new-organization": "Bitte gebe alle nötigen Informationen an, im die neue Organisation zu erstellen.", - "please-provide-the-required-information-to-add-a-new-runner": "Bitte die benötigten Informationen angeben.", - "please-provide-the-required-information-to-add-a-new-team": "Bitte gebe alle nötigen Informationen an, im das neue Team zu erstellen.", - "please-provide-the-required-information-to-add-a-new-track": "Bitte die benötigten Informationen angeben.", - "please-provide-the-required-information-to-add-a-new-user": "Bitte gebe alle nötigen Informationen an, im die neue Benutzer:in zu erstellen.", - "please-provide-the-required-information-to-create-a-new-scanstation": "Bitte gebe alle fĂŒr eine Scannerstation notwendigen Informationen an", - "please-request-a-new-reset-mail": "Bitte eine neue Passwortreset-Mail anfordern...", - "privacy": "Datenschutz", - "privacy-loading": "DatenschutzerklĂ€rung lĂ€dt...", - "profile": "Profil", - "profile-picture": "Profilbild", - "profile-updated": "Profil wurde aktualisiert!", - "read-license": "Lizenz-Text lesen", - "receipt-needed": "Spendenquittung benötigt", - "repo_link": "Link", - "request-a-new-reset-mail": "Neue Reset-Mail anfordern", - "reset-my-password": "Passwort zurĂŒcksetzen", - "reset-password": "Passwort zurĂŒcksetzen", - "runner": "LĂ€ufer:in", - "runner-added": "LĂ€ufer:in hinzugefĂŒgt", - "runner-import": "LĂ€ufer:innen Import", - "runner-is-being-added": "LĂ€ufer:in wird hinzugefĂŒgt...", - "runner-updated": "LĂ€ufer:in aktualisiert!", - "runnerimport_verify_runners_org": "Bitte die LĂ€ufer:innen fĂŒr den Import in die Organisation \"{org_name}\" bestĂ€tigen", - "runners": "LĂ€ufer", - "runners-are-being-imported": "LĂ€ufer:innen werden importiert ...", - "runners-are-being-loaded": "LĂ€ufer:innen werden geladen ...", - "save": "Speichern", - "save-changes": "Änderungen speichern", - "scan-added": "Scan hinzugefĂŒgt", - "scan-is-being-updated": "Scan wird aktualisiert", - "scan-with-fixed-distance": "Scan mit Festdistanz", - "scans": "Scans", - "scans-are-being-loaded": "Scans werden geladen", - "scanstation": "Scanner Station", - "scanstation-added": "Station wurde erstellt", - "scanstation-is-being-added": "Scannerstation wird angelegt...", - "scanstations": "Scanner Stationen", - "scanstations-are-being-loaded": "Scannerstationen werden geladen...", - "search-for-an-organization-by-name-or-id": "Suche eine Organisation (via Name oder Id)", - "search-for-an-organization-or-team-by-name-or-id": "Suche eine Organisation oder ein Team (via Name oder Id)", - "search-for-donor-name-or-id": "Suche eine Spender:in (via Name oder Id)", - "search-for-permission": "Berechtigungen durchsuchen", - "search-for-runner-by-name-or-id": "Suche eine LĂ€ufer:in (via Name oder Id)", - "select-all": "Alle auswĂ€hlen", - "select-language": "Sprache auswĂ€hlen", - "send-a-mail-to-lfk-odit-services": "Sende eine Mail an lfk@odit.services", - "set-the-user-active-inactive": "Den Benutzer auf (in)aktiv setzen", - "settings": "Einstellungen", - "settings-for-your-profile": "Die Einstellungen deines Accounts", - "something-about-the-group": "Infos zur Gruppe", - "stats-are-being-loaded": "Die Statistiken werden geladen...", - "status": "Status", - "stuff-that-could-harm-your-profile": "Einstellungen, die deinem Profil nachhaltig schaden können", - "successful-password-reset": "Passwort erfolgreich zurĂŒckgesetzt!", - "team": "Team", - "team-detail-is-being-loaded": "Team wird geladen...", - "team-name": "Teamname", - "team-name-is-required": "Teamname ist erforderlich", - "teams": "Teams", - "teams-are-being-loaded": "Teams werden geladen ...", - "the-provided-phone-number-is-invalid-less-than-br-greater-than-please-enter-a-valid-international-number": "Die angegebene Telefonnummer ist nicht korrekt.
Bitte gebe eine Telefonnummer im internationalen Format an...", - "the-scans-distance-must-be-greater-than-0m": "Die Distanz muss grĂ¶ĂŸer als 0m sein.", - "the-scanstations-api-token-will-only-get-displayed-once-you-wont-be-able-to-change-or-view-it-again": "Der Scannerstation Token wird nur einmal angezeigt - du kannst ihn nicht Ă€ndern oder ihn dir nochmal anzeigen lassen!", - "there-are-no-cards-yet": "Es gibt noch keine LĂ€uferkarten.", - "there-are-no-contacts-added-yet": "Es wurden noch keine Kontakte hinzugefĂŒgt.", - "there-are-no-donations-yet": "Es gibt noch keine Sponsorings", - "there-are-no-donors-yet": "Es gibt noch keine Sponsor:innen", - "there-are-no-groups-yet": "Es gibt noch keine Gruppen", - "there-are-no-organizations-added-yet": "Es wurden noch keine Organisationen hinzugefĂŒgt.", - "there-are-no-runners-added-yet": "Es wurden noch keine LĂ€ufer:innen hinzugefĂŒgt.", - "there-are-no-scans-yet": "Es gibt noch keine Scans", - "there-are-no-teams-added-yet": "Es wurden noch keine Teams hinzugefĂŒgt.", - "there-are-no-users-added-yet": "Es wurden noch keine Benutzer hinzugefĂŒgt.", - "this-card-is": "Diese Karte ist", - "this-might-take-a-moment": "Das könnte einen kleinen Moment dauern", - "this-scanstation-is": "Diese Station ist", - "token": "Token", - "total-distance": "gelaufene Strecke", - "total-donation-amount": "Gesamtbetrag", - "total-donations": "Spendensumme", - "total-scans": "gesamte Scans", - "track": "Track", - "track-added": "Track hinzugefĂŒgt", - "track-data-is-being-loaded": "Trackdaten werden geladen", - "track-is-being-added": "Track wird hinzugefĂŒgt...", - "track-length-in-m": "TracklĂ€nge (in Metern)", - "track-length-must-be-greater-than-0": "Die LĂ€nge muss grĂ¶ĂŸer als 0 (Meter) sein", - "track-name": "Trackname", - "track-name-must-not-be-empty": "Der Name muss angegeben werden", - "tracks": "Tracks", - "update-password": "Passwort Ă€ndern", - "updated-contact": "Kontakt aktualisiert!", - "updated-donor": "Sponsor:in wurde aktualisiert", - "updated-organization": "Organisation wurde aktualisiert", - "updated-scan": "Scan wurde aktualisiert", - "updateing-group": "Gruppe wird aktualisiert...", - "updating-card": "Karte wird aktualisiert", - "updating-organization": "Organisation wird aktualisiert", - "updating-permissions": "Berechtigungen werden aktualisiert...", - "updating-runner": "LĂ€ufer:in wird aktualisiert.", - "updating-user": "Benutzer:in wird aktualisiert...", - "updating-your-profile": "Profil wird aktualisiert...", - "user-added": "Benutzer hinzugefĂŒgt", - "user-groups": "Benutzergruppen", - "user-is-being-added": "Benutzer wird hinzugefĂŒgt ...", - "user-updated": "Benutzer:in wurde aktualisiert", - "username": "Benutzername", - "users": "Benutzer", - "valid": "GĂŒltig", - "valid-city-is-required": "Du musst eine Stadt angeben", - "valid-email-is-required": "Es wird eine valide E-Mail Adresse benötigt", - "valid-international-phone-number-is-required": "Du musst eine Telefonnummer im internationalen Format angeben...", - "valid-zipcode-postal-code-is-required": "Du musst eine valide Postleitzahl angeben", - "verfuegbare": "VerfĂŒgbar", - "welcome_wavinghand": "Willkommen 👋", - "yes-i-copied-the-token": "Ja, ich habe den Token kopiert", - "you-are-going-to-loose-all-permissions-and-access-to-the-runner-system": "Du wirst all deine Berechtigungen und den Zugriff aufs LĂ€ufersystem verlieren!", - "you-can-now-use-your-new-password-to-log-in-to-your-account": "Du kannst dich jetzt mit deinem neuen Passwort anmelden! 🎉", - "you-can-provide-a-runner-but-you-dont-have-to": "Du kannst eine LĂ€ufer:in angeben, musst aber nicht.", - "you-dont-have-any-scanstations-yet": "Es gibt noch keine Scannerstationen", - "you-have-to-provide-an-organization": "Du musst eine Organisation angeben", - "you-must-create-at-least-one-card-or-cancel": "Du musst mindestens eine Blankokarte erstellen (oder abbrechen).", - "zip-postal-code": "Postleitzahl", - "selfservice-registration": "Selfservice Registrierung", - "copied-link-to-clipboard": "Link wurde in die Zwischenablage kopiert", - "click-to-copy-the-link-into-your-clipboard": "Klicke auf den Link, um ihn in deine Zwischenablage zu kopieren", - "you-have-to-save-your-changes-to-generate-a-link": "Du musst deine Änderungen speichern, um einen Link zu generieren." -} + "404message": "Die gesuchte Seite wurde leider nicht gefunden.", + "404title": "Fehler 404", + "about": "Über", + "action": "Aktionen", + "active": "Aktiv", + "add-card": "Karte erstellen", + "add-donation": "Sponsoring erstellen", + "add-donor": "Sponsor:in erstellen", + "add-scan": "Scan erstellen", + "add-the-first-scanstation": "Erstelle deine erste Scannerstation.", + "add-user-group": "Neue Gruppe erstellen", + "add-your-first-card": "Erstelle deine erste LĂ€uferkarte", + "add-your-first-contact": "Erstelle den ersten Kontakt", + "add-your-first-donor": "Erstelle die erste Sponsor:in", + "add-your-first-group": "Erstelle die erste Gruppe", + "add-your-first-organization": "Erstelle die erste Organisation", + "add-your-first-runner": "Erstelle die erste LĂ€ufer:in", + "add-your-first-team": "Erstelle das erste Team", + "add-your-first-track": "Erstelle den ersten Track (Laufstrecke).", + "add-your-first-user": "Erstelle die erste Benutzer:in", + "add-your-fist-donation": "Erstelle dein erstes Sponsoring", + "add-your-fist-scan": "FĂŒge deinen ersten Scan hinzu", + "adding-card": "Karte wird erstellt", + "adding-scan": "Scan wird hinzugefĂŒgt", + "address": "Adresse", + "address-is-required": "Du musst eine Adresse angeben", + "after-deletion-we-cant-restore-your-old-profile": "Nach der Löschung können auch die Admins dein Profil nicht wiederherstellen!", + "after-the-update-youll-get-logged-out-please-login-with-your-new-password-after-that": "Nach der Änderung wirst du abgemeldet - bitte melde dich dann mit deinem neuen Passwort an.", + "all-associated-donations-will-get-deleted-as-well": "Alle Sponsorings dieser Sponsor:in werden ebenfalls gelöscht", + "all-associated-runners-will-be-deleted-too": "Alle zugehörigen LĂ€ufer:innen werden auch gelöscht!", + "all-associated-teams-and-runners-will-be-deleted-too": "Alle assoziierten Teams und LĂ€ufer:innen werden auch gelöscht!", + "amount": "Anzahl", + "amount-per-kilometer": "Betrag pro Kilometer", + "apartment-suite-etc": "Apartment, Wohnung, etc.", + "application_name": "Lauf fĂŒr Kaya! - Admin", + "applying-changes": "Änderungen anwenden", + "attention": "Achtung!", + "author": "Autor:in", + "bitte-bestaetige-diese-laeufer-fuer-den-import": "Bitte die LĂ€ufer:innen fĂŒr den Import bestĂ€tigen.", + "by": "von", + "cancel": "Abbrechen", + "cancel-delete": "Löschen abbrechen", + "cancel-keep-donor": "Abbrechen, Sponsor:in behalten", + "cancel-keep-my-profile": "Abbrechen, mein Profil behalten", + "cancel-keep-organization": "Abbrechen und Organisation bearbeiten", + "cancel-keep-team": "Abbrechen, Team behalten", + "cannot-reset-your-password-directly": "Schade. \nWir können das Passwort leider nicht direkt zurĂŒcksetzen.\nBitte sende uns eine Mail in der du deine IdentitĂ€t bestĂ€tigst.", + "card-added": "Karte wurde hinzugefĂŒgt", + "card-deleted": "Karte gelöscht", + "card-updated": "Karte aktualisiert", + "cards": "LĂ€uferkarten", + "change-your-password-here": "Hier kannst du dein Passwort Ă€ndern", + "changing-your-password": "Passwort wird geĂ€ndert", + "city": "Stadt", + "click-to-copy-the-link-into-your-clipboard": "Klicke auf den Link, um ihn in deine Zwischenablage zu kopieren", + "click-to-copy-token-to-clipboard": "Klicke auf den Token, um ihn in deine Zwischenablage zu kopieren", + "close": "Schließen", + "code": "Code", + "configure-the-tracks-and-minimum-lap-times": "Bearbeite die Tracks und ihre minimale Rundenzeit", + "confirm": "BestĂ€tigen", + "confirm-delete": "Löschung BestĂ€tigen", + "confirm-delete-donor-with-all-donations": "BestĂ€tigen, Sponsor:in mit allen Sponsorings löschen", + "confirm-delete-my-user-profile": "BestĂ€tigung, mein Benutzerprofil löschen", + "confirm-delete-organization-and-associated-teams-runners": "BestĂ€tugung, lösche die Organisation und alle zugehörigen Teams und LĂ€ufer:innen.", + "confirm-delete-team-and-associated-runners": "BestĂ€tigung, lösche das Team mitsamt seinen LĂ€ufer:innen.", + "confirm-deletion": "Löschung BestĂ€tigen", + "confirm-the-new-password": "Neues Passwort bestĂ€tigen", + "contact": "Kontakt", + "contact-deleted": "Kontakt gelöscht", + "contact-information": "Kontaktinformation", + "contact-is-being-updated": "Kontakt wird aktualisiert ...", + "contact-is-not-a-member-in-any-group": "Kontakt gehört zu keiner Gruppe", + "contacts": "Kontakte", + "contacts-are-being-loaded": "Kontakte werden geladen ...", + "copied-link-to-clipboard": "Link wurde in die Zwischenablage kopiert", + "copied-token-to-clipboard": "Token wurde in die Zwischenablage kopiert", + "count_organizations": "Organisationen (Anzahl)", + "count_teams": "Teams (Anzahl)", + "create": "Erstellen", + "create-a-new": "Erstelle eine neue", + "create-a-new-card": "Neue LĂ€uferkarte erstellen", + "create-a-new-contact": "Kontakt erstellen", + "create-a-new-distance-donation": "Erstelle ein neues Sponsoring", + "create-a-new-donor": "Neue Sponsor:in erstellen", + "create-a-new-fixed-donation": "Erstelle eine neue Festbetragsspende", + "create-a-new-organization": "Neue Organisation anlegen", + "create-a-new-runner": "Neue LĂ€ufer:in erstellen", + "create-a-new-scan-fixed-only": "Neuen Scan erstellen (nur mit Festdistanz)", + "create-a-new-scanstation": "Neue Station erstellen", + "create-a-new-team": "Erstelle ein neues Team", + "create-a-new-track": "Neuen Track erstellen", + "create-a-new-user": "Neue Benutzer:in anlegen", + "create-a-new-user-group": "Erstelle eine neue Gruppe", + "create-bulk-blanco-cards": "Blankokarten erstellen", + "create-bulk-cards": "Blankokarten erstellen", + "create-organization": "Organisation erstellen", + "create-team": "Team erstellen", + "create-track": "Track erstellen", + "create-user": "Benutzer anlegen", + "created-blanco-cards": "Blankokarten wurden erstellt", + "creating-blanco-cards": "Erstelle Blankokarten", + "credits": "Credits", + "csv_import__class": "Klasse", + "csv_import__firstname": "Vorname", + "csv_import__lastname": "Nachname", + "csv_import__middlename": "Mittelname", + "csv_import__team": "Team", + "danger-zone": "Gefahrenzone", + "dashboard-greeting": "Hallo", + "dashboard-title": "Dashboard", + "datatable": { + "search": "🔍 Suche ...", + "an_error_happened_while_fetching_the_data": "Beim Abrufen der Daten ist ein Fehler aufgetreten", + "loading": "Wird geladen...", + "next": "NĂ€chste", + "of": "von", + "previous": "Vorherige", + "to": "bis", + "showing": "Zeige", + "no_matching_records_found": "Keine passenden EintrĂ€ge gefunden", + "page": "Seite", + "records": "EintrĂ€ge", + "sort_column_ascending": "Spalte aufsteigend sortieren", + "sort_column_descending": "Spalte absteigend sortieren" + }, + "delete": "Löschen", + "delete-contact": "Kontakt löschen", + "delete-donation": "Sponsporing löschen", + "delete-donor": "Sponsor:in löschen", + "delete-group": "Gruppe löschen", + "delete-organization": "Organisation löschen", + "delete-profile": "Profil löschen", + "delete-runner": "LĂ€ufer:in löschen", + "delete-scan": "Scan löschen", + "delete-station": "Station löschen", + "delete-team": "Team Löschen", + "delete-user": "Benutzer:in löschen", + "deleted-scan": "Scan wurde gelöscht", + "dependency_name": "Name", + "description": "Beschreibung", + "description-optional": "Beschreibung (optional)", + "deselect-all": "Alle abwĂ€hlen", + "details": "Details", + "disabled": "deaktiviert", + "distance": "Distanz", + "distance-donation": "Sponsoring", + "distance-in-km": "Distanz (in KM)", + "distance-track": "Distanz (+Track)", + "do-you-really-want-to-delete-your-profile": "Möchtest du dein Profil wirklich löschen?", + "do-you-want-to-delete-the-organization-delete_org-name": "Möchtest du die Organisation {orgname} löschen?", + "do-you-want-to-delete-the-team-delete_team-name": "Möchtest du das Team {teamname} löschen?", + "do-you-want-to-delete-this-donor-with-all-related-donations": "Möchtest du diese Sponsor:in mit all ihren Sponsorings löschen?", + "documentation": "Dokumentation", + "donation-amount": "Sponsoringbetrag", + "donation-amount-must-be-greater-that-0-00eur": "Der Sponsoringbetrag muss grĂ¶ĂŸer als 0.00€ sein.", + "donations": "Sponsorings", + "donor": "Sponsor:in", + "donor-added": "Sponsor:in hinzugefĂŒgt", + "donor-deleted": "Sponsor:in gelöscht", + "donor-has-no-associated-donations": "Zur Sponsor:in gibt es noch keine Sponsorings", + "donor-is-being-added": "Sponsor:in wird hinzugefĂŒgt...", + "donor-is-being-updated": "Sponsor:in wird aktualisiert", + "donors": "Sponsor:innen", + "donors-are-being-loaded": "Sponsor:innen werden geladen", + "dont-have-your-email-connected": "Deine E-Mail ist nicht verknĂŒpft?", + "dont-panic-were-resetting-it": "Keine Panik, wir setzen es zurĂŒck ✌", + "e-mail-adress": "E-Mail-Adresse", + "edit": "Bearbeiten", + "edit-a-card": "LĂ€uferkarte bearbeiten", + "edit-permissions": "Berechtigungen bearbeiten", + "email_address_or_username": "E-Mail-Adresse/ Benutzername", + "enabled": "aktiviert", + "enabled_large": "Aktiviert", + "english": "Englisch", + "error-during-import": "Fehler beim Importieren", + "error-whyile-copying-to-clipboard": "Fehler beim Kopieren in die Zwischenablage", + "error_on_login": "😱Fehler beim Login", + "erteilte": "Direkt erteilte", + "everything-concerning-your-profile": "Alles zu deinem Profil", + "everything-is-more-fun-together": "Im Team macht's mehr Spaß đŸƒâ€â™‚ïžđŸƒâ€â™€ïžđŸƒâ€â™‚ïž", + "faq": "FAQ", + "filter-by-organization-team": "Filtern nach Organisation / Team", + "first-name": "Vorname", + "first-name-is-required": "Vorname muss angegeben werden", + "first-scan-of-the-day": "Erster Scan des Tages", + "fixed-donation": "Festbetragsspende", + "forgot_password": "Passwort vergessen?", + "geerbte": "geerbte", + "general-stats": "Allgemeine Statistiken", + "general_promise_error": "😱 Ein unbekannter Fehler ist aufgetreten", + "generate-runnercards": "LĂ€uferkarten generieren", + "generate-sponsoring-contract": "Sponsoringvertrag generieren", + "generate-sponsoring-contracts": "SponsoringvertrĂ€ge generieren", + "generating-pdf": "Pdf wird generiert...", + "generating-pdfs": "PDFs werden generiert...", + "generic-ui-logic-error": "Etwas ist in der BenutzeroberflĂ€che schiefgelaufen.", + "german": "Deutsch", + "go-to-login": "Zum Login", + "goback": "Zur Startseite", + "granted": "GewĂ€hrt", + "group": "Gruppe", + "group-added": "Gruppe hinzugefĂŒgt", + "group-is-being-added": "Gruppe wird erstellt", + "group-name-is-required": "Der Gruppenname muss angegeben werden.", + "group-updated": "Gruppe aktualisiert", + "groups": "Gruppen", + "groups-are-being-loaded": "Gruppen werden geladen", + "home": "Start", + "icon-image-credits": "Wir möchten uns außerdem fĂŒr die verwendeten Icons und Bilder bedanken bei:", + "if-you-want-to-create-multiple-blanco-cards-try-the-add-bulk-button": "Wenn du mehrere Blankokarten erstellen willst, nutze doch den \"Blankokarten erstellen\" Knopf.", + "import-finished": "Import abgeschlossen", + "import-runners": "LĂ€ufer:innen importieren", + "import__target-organization": "Ziel Organisation", + "imprint": "Impressum ", + "imprint-loading": "Impressum lĂ€dt...", + "inactive": "Inaktiv", + "installed-version": "Installierte Version", + "internal-error": "Interner Fehler", + "invalid": "UngĂŒltig", + "invalid-mail-reset": "Das ist keine gĂŒltige E-Mail", + "just-enter-how-many-you-want-and-the-system-will-create-them": "Gebe einfach ein, wie viele Blankokarten das System erstellen soll.", + "laeufer-hinzufuegen": "LĂ€ufer:in hinzufĂŒgen", + "laeufer-importieren": "LĂ€ufer:innen importieren", + "laptime": "Rundenzeit", + "last-name": "Nachname", + "last-name-is-required": "Nachname muss angegeben werden", + "lfk-is-os": "Das \"Lauf fĂŒr Kaya!\" Frontend ist (wie alle anderen Projekte fĂŒr den \"LfK!\" auch) ein OpenSource Projekt.", + "license": "Lizenz", + "licenses-are-being-loaded": "Lizenzen werden geladen...", + "loading-cards": "LĂ€uferkarten werden geladen", + "loading-contact-details": "Kontaktdaten werden geladen ...", + "loading-donation-details": "Lade Sponsoringdetails", + "loading-donor-details": "Lade Details", + "loading-group-detail": "Lade Gruppendetails...", + "loading-profile-data": "Lade Profildaten", + "loading-runners": "LĂ€ufer:innen werden geladen...", + "loading-station-details": "Lade Scanstation-Details ...", + "log_in": "Anmelden", + "log_in_to_your_account": "Bitte melde dich an", + "login_is_checked": "Login wird ĂŒberprĂŒft", + "logout": "Abmelden", + "mail-validation-in-progress": "E-Mail Verifizierung lĂ€uft... ", + "manage-admin-users": "Nutzer verwalten", + "middle-name": "Mittelname", + "minimum-lap-time-in-s": "Minimale Rundenzeit (in Sekunden)", + "minimum-lap-time-must-be-a-positive-number-or-0": "Die minimale Rundenzeit muss eine positive Zahl oder 0 sein", + "name": "Name", + "name-is-required": "Der Gruppenname muss angegeben werden", + "new-password": "Neues Passwort", + "no-contact-found": "Keine Kontakte gefunden", + "no-contact-selected": "Kein Kontakt ausgewĂ€hlt", + "no-contact-specified": "Kein Kontakt angegeben", + "no-donors-found": "Keine Spender:innen gefunden", + "no-license-text-could-be-found": "Kein Lizenz-Text gefunden 😱", + "no-organization-or-team-found": "Keine Organisationen oder Teams gefunden", + "no-organization-specified": "Keine Organisation angegeben", + "no-organizations-found": "Keine Organisationen gefunden", + "no-runners-found": "Keine LĂ€ufer:innen gefunden", + "no-tracks-added-yet": "Es wurden noch keine Tracks erstellt.", + "non-blanko": "Keine/Blankokarte", + "organization": "Organisation", + "organization-added": "Organisation hinzugefĂŒgt", + "organization-deleted": "Organisation gelöscht", + "organization-detail-is-being-loaded": "Organisationsdetails werden geladen ...", + "organization-is-being-added": "Organisation wird hinzugefĂŒgt ...", + "organization-name-is-required": "Der Name muss angegeben werden", + "organizations": "Organisationen", + "organizations-are-being-loaded": "Organisationen werden geladen ...", + "orgs": "Organisationen", + "oss_credit_description": "Wir verwenden eine Menge Open Source-Software bei diesen Projekten und möchten uns bei den folgenden Projekten und Mitwirkenden bedanken, die dazu beitragen, Open Source großartig zu machen!", + "password": "Passwort", + "password-changed": "Passwort wurde aktualisiert!", + "password-is-required": "Passwort muss angegeben werden", + "password-reset-failed": "Passwort zurĂŒcksetzen ist fehlgeschlagen!", + "password-reset-in-progress": "Passwort wird zurĂŒckgesetzt...", + "password-reset-mail-sent": "Passwort-Reset Mail wurde an \"{usersEmail}\" geschickt.", + "password-reset-successful": "Passwort erfolgreich zurĂŒckgesetzt!", + "passwords-dont-match": "Die Passwörter stimmen nicht ĂŒberein.", + "pdf-generation-failed": "PDF Generierung fehlgeschlagen!", + "pdf-successfully-generated": "PDF wurde erfolgreich generiert!", + "pdfs-successfully-generated": "Alle PDFs wurden generiert!", + "per-kilometer": "pro Kilometer", + "permissions": "Berechtigungen", + "permissions-updated": "Berechtigungen aktualisiert!", + "phone": "Telefon", + "please-copy-the-token-and-store-it-somewhere-save": "Bitte kopiere dir den Token und bewahre ihn gut auf.", + "please-provide-a-password": "Bitte gebe ein Passwort an...", + "please-provide-the-nessecary-information-to-add-a-new-donor": "Bitte mach die Notwendigen Angaben, um eine neue Sponsor:in zu erstellen", + "please-provide-the-nessecary-information-to-create-a-new-donation": "Bitte gebe alle fĂŒr das Sponsoring notwendigen Daten an.", + "please-provide-the-nessecary-information-to-create-a-new-scan": "Bitte gebe alle notwendigen Informationen an, um einen neuen Scan zu erstellen.", + "please-provide-the-required-csv-xlsx-file": "Bitte eine CSV oder XLSX Datei hochladen.", + "please-provide-the-required-information-for-creating-a-new-user-group": "Bitte gebe alle fĂŒr eine neue Gruppe notwendigen Informationen an.", + "please-provide-the-required-information-to-add-a-new-contact": "Bitte gebe alle nötigen Informationen an, im den neuen Kontakt zu erstellen.", + "please-provide-the-required-information-to-add-a-new-organization": "Bitte gebe alle nötigen Informationen an, im die neue Organisation zu erstellen.", + "please-provide-the-required-information-to-add-a-new-runner": "Bitte die benötigten Informationen angeben.", + "please-provide-the-required-information-to-add-a-new-team": "Bitte gebe alle nötigen Informationen an, im das neue Team zu erstellen.", + "please-provide-the-required-information-to-add-a-new-track": "Bitte die benötigten Informationen angeben.", + "please-provide-the-required-information-to-add-a-new-user": "Bitte gebe alle nötigen Informationen an, im die neue Benutzer:in zu erstellen.", + "please-provide-the-required-information-to-create-a-new-scanstation": "Bitte gebe alle fĂŒr eine Scannerstation notwendigen Informationen an", + "please-request-a-new-reset-mail": "Bitte eine neue Passwortreset-Mail anfordern...", + "privacy": "Datenschutz", + "privacy-loading": "DatenschutzerklĂ€rung lĂ€dt...", + "profile": "Profil", + "profile-picture": "Profilbild", + "profile-updated": "Profil wurde aktualisiert!", + "read-license": "Lizenz-Text lesen", + "receipt-needed": "Spendenquittung benötigt", + "repo_link": "Link", + "request-a-new-reset-mail": "Neue Reset-Mail anfordern", + "reset-my-password": "Passwort zurĂŒcksetzen", + "reset-password": "Passwort zurĂŒcksetzen", + "runner": "LĂ€ufer:in", + "runner-added": "LĂ€ufer:in hinzugefĂŒgt", + "runner-import": "LĂ€ufer:innen Import", + "runner-is-being-added": "LĂ€ufer:in wird hinzugefĂŒgt...", + "runner-updated": "LĂ€ufer:in aktualisiert!", + "runnerimport_verify_runners_org": "Bitte die LĂ€ufer:innen fĂŒr den Import in die Organisation \"{org_name}\" bestĂ€tigen", + "runners": "LĂ€ufer", + "runners-are-being-imported": "LĂ€ufer:innen werden importiert ...", + "runners-are-being-loaded": "LĂ€ufer:innen werden geladen ...", + "save": "Speichern", + "save-changes": "Änderungen speichern", + "scan-added": "Scan hinzugefĂŒgt", + "scan-is-being-updated": "Scan wird aktualisiert", + "scan-with-fixed-distance": "Scan mit Festdistanz", + "scans": "Scans", + "scans-are-being-loaded": "Scans werden geladen", + "scanstation": "Scanner Station", + "scanstation-added": "Station wurde erstellt", + "scanstation-is-being-added": "Scannerstation wird angelegt...", + "scanstations": "Scanner Stationen", + "scanstations-are-being-loaded": "Scannerstationen werden geladen...", + "search-for-an-organization-by-name-or-id": "Suche eine Organisation (via Name oder Id)", + "search-for-an-organization-or-team-by-name-or-id": "Suche eine Organisation oder ein Team (via Name oder Id)", + "search-for-donor-name-or-id": "Suche eine Spender:in (via Name oder Id)", + "search-for-permission": "Berechtigungen durchsuchen", + "search-for-runner-by-name-or-id": "Suche eine LĂ€ufer:in (via Name oder Id)", + "select-all": "Alle auswĂ€hlen", + "select-language": "Sprache auswĂ€hlen", + "selfservice-registration": "Selfservice Registrierung", + "send-a-mail-to-lfk-odit-services": "Sende eine Mail an lfk@odit.services", + "set-the-user-active-inactive": "Den Benutzer auf (in)aktiv setzen", + "settings": "Einstellungen", + "settings-for-your-profile": "Die Einstellungen deines Accounts", + "something-about-the-group": "Infos zur Gruppe", + "stats-are-being-loaded": "Die Statistiken werden geladen...", + "status": "Status", + "stuff-that-could-harm-your-profile": "Einstellungen, die deinem Profil nachhaltig schaden können", + "successful-password-reset": "Passwort erfolgreich zurĂŒckgesetzt!", + "team": "Team", + "team-detail-is-being-loaded": "Team wird geladen...", + "team-name": "Teamname", + "team-name-is-required": "Teamname ist erforderlich", + "teams": "Teams", + "teams-are-being-loaded": "Teams werden geladen ...", + "the-provided-phone-number-is-invalid-less-than-br-greater-than-please-enter-a-valid-international-number": "Die angegebene Telefonnummer ist nicht korrekt.
Bitte gebe eine Telefonnummer im internationalen Format an...", + "the-scans-distance-must-be-greater-than-0m": "Die Distanz muss grĂ¶ĂŸer als 0m sein.", + "the-scanstations-api-token-will-only-get-displayed-once-you-wont-be-able-to-change-or-view-it-again": "Der Scannerstation Token wird nur einmal angezeigt - du kannst ihn nicht Ă€ndern oder ihn dir nochmal anzeigen lassen!", + "there-are-no-cards-yet": "Es gibt noch keine LĂ€uferkarten.", + "there-are-no-contacts-added-yet": "Es wurden noch keine Kontakte hinzugefĂŒgt.", + "there-are-no-donations-yet": "Es gibt noch keine Sponsorings", + "there-are-no-donors-yet": "Es gibt noch keine Sponsor:innen", + "there-are-no-groups-yet": "Es gibt noch keine Gruppen", + "there-are-no-organizations-added-yet": "Es wurden noch keine Organisationen hinzugefĂŒgt.", + "there-are-no-runners-added-yet": "Es wurden noch keine LĂ€ufer:innen hinzugefĂŒgt.", + "there-are-no-scans-yet": "Es gibt noch keine Scans", + "there-are-no-teams-added-yet": "Es wurden noch keine Teams hinzugefĂŒgt.", + "there-are-no-users-added-yet": "Es wurden noch keine Benutzer hinzugefĂŒgt.", + "this-card-is": "Diese Karte ist", + "this-might-take-a-moment": "Das könnte einen kleinen Moment dauern", + "this-scanstation-is": "Diese Station ist", + "token": "Token", + "total-distance": "gelaufene Strecke", + "total-donation-amount": "Gesamtbetrag", + "total-donations": "Spendensumme", + "total-scans": "gesamte Scans", + "track": "Track", + "track-added": "Track hinzugefĂŒgt", + "track-data-is-being-loaded": "Trackdaten werden geladen", + "track-is-being-added": "Track wird hinzugefĂŒgt...", + "track-length-in-m": "TracklĂ€nge (in Metern)", + "track-length-must-be-greater-than-0": "Die LĂ€nge muss grĂ¶ĂŸer als 0 (Meter) sein", + "track-name": "Trackname", + "track-name-must-not-be-empty": "Der Name muss angegeben werden", + "tracks": "Tracks", + "update-password": "Passwort Ă€ndern", + "updated-contact": "Kontakt aktualisiert!", + "updated-donor": "Sponsor:in wurde aktualisiert", + "updated-organization": "Organisation wurde aktualisiert", + "updated-scan": "Scan wurde aktualisiert", + "updateing-group": "Gruppe wird aktualisiert...", + "updating-card": "Karte wird aktualisiert", + "updating-organization": "Organisation wird aktualisiert", + "updating-permissions": "Berechtigungen werden aktualisiert...", + "updating-runner": "LĂ€ufer:in wird aktualisiert.", + "updating-user": "Benutzer:in wird aktualisiert...", + "updating-your-profile": "Profil wird aktualisiert...", + "user-added": "Benutzer hinzugefĂŒgt", + "user-groups": "Benutzergruppen", + "user-is-being-added": "Benutzer wird hinzugefĂŒgt ...", + "user-updated": "Benutzer:in wurde aktualisiert", + "username": "Benutzername", + "users": "Benutzer", + "valid": "GĂŒltig", + "valid-city-is-required": "Du musst eine Stadt angeben", + "valid-email-is-required": "Es wird eine valide E-Mail Adresse benötigt", + "valid-international-phone-number-is-required": "Du musst eine Telefonnummer im internationalen Format angeben...", + "valid-zipcode-postal-code-is-required": "Du musst eine valide Postleitzahl angeben", + "verfuegbare": "VerfĂŒgbar", + "welcome_wavinghand": "Willkommen 👋", + "yes-i-copied-the-token": "Ja, ich habe den Token kopiert", + "you-are-going-to-loose-all-permissions-and-access-to-the-runner-system": "Du wirst all deine Berechtigungen und den Zugriff aufs LĂ€ufersystem verlieren!", + "you-can-now-use-your-new-password-to-log-in-to-your-account": "Du kannst dich jetzt mit deinem neuen Passwort anmelden! 🎉", + "you-can-provide-a-runner-but-you-dont-have-to": "Du kannst eine LĂ€ufer:in angeben, musst aber nicht.", + "you-dont-have-any-scanstations-yet": "Es gibt noch keine Scannerstationen", + "you-have-to-provide-an-organization": "Du musst eine Organisation angeben", + "you-have-to-save-your-changes-to-generate-a-link": "Du musst deine Änderungen speichern, um einen Link zu generieren.", + "you-must-create-at-least-one-card-or-cancel": "Du musst mindestens eine Blankokarte erstellen (oder abbrechen).", + "zip-postal-code": "Postleitzahl" +} \ No newline at end of file diff --git a/src/locales/en.json b/src/locales/en.json index 3f2d5c56..c530c41c 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -1,422 +1,422 @@ { - "404message": "Sorry, the page you are looking for could not be found.", - "404title": "Error 404", - "about": "About", - "action": "Action", - "active": "Active", - "add-card": "Add Card", - "add-donation": "Add donation", - "add-donor": "add donor", - "add-scan": "Add scan", - "add-the-first-scanstation": "Add your first scanstation.", - "add-user-group": "Add User Group", - "add-your-first-card": "Add your first card", - "add-your-first-contact": "Add your first contact", - "add-your-first-donor": "add your first donor", - "add-your-first-group": "Add your first group", - "add-your-first-organization": "Add your first organization", - "add-your-first-runner": "Add your first runner", - "add-your-first-team": "Add your first team", - "add-your-first-track": "Add your first track.", - "add-your-first-user": "Add your first user", - "add-your-fist-donation": "Add your fist donation", - "add-your-fist-scan": "Add your fist scan", - "adding-card": "Adding Card", - "adding-scan": "Adding Scan", - "address": "Address", - "address-is-required": "Address is required", - "after-deletion-we-cant-restore-your-old-profile": "After deletion we can't restore your old profile!", - "after-the-update-youll-get-logged-out-please-login-with-your-new-password-after-that": "After the update you'll get logged out - Please login with your new password after that.", - "all-associated-donations-will-get-deleted-as-well": "All associated donations will get deleted as well", - "all-associated-runners-will-be-deleted-too": "All associated runners will be deleted too!", - "all-associated-teams-and-runners-will-be-deleted-too": "All associated teams and runners will be deleted too!", - "amount": "Amount", - "amount-per-kilometer": "Amount per kilometer", - "apartment-suite-etc": "Apartment, suite, etc.", - "application_name": "Lauf fĂŒr Kaya! - Admin", - "applying-changes": "Applying Changes", - "attention": "Attention!", - "author": "Author", - "bitte-bestaetige-diese-laeufer-fuer-den-import": "Please confirm these runners for import.", - "by": "by", - "cancel": "Cancel", - "cancel-delete": "Cancel Delete", - "cancel-keep-donor": "Cancel, keep donor", - "cancel-keep-my-profile": "Cancel, keep my profile", - "cancel-keep-organization": "Cancel, keep organization", - "cancel-keep-team": "Cancel, keep team", - "cannot-reset-your-password-directly": "Bummer. We unfortunately cannot reset your password directly. Please send us a mail and confirm your identity", - "card-added": "Card added", - "card-deleted": "Card deleted", - "card-updated": "Card updated", - "cards": "Cards", - "change-your-password-here": "Change your password here", - "changing-your-password": "Changing your password", - "city": "City", - "click-to-copy-token-to-clipboard": "Click to copy the token to your clipboard", - "close": "Close", - "code": "Code", - "configure-the-tracks-and-minimum-lap-times": "configure the tracks & minimum lap times", - "confirm": "Confirm", - "confirm-delete": "Confirm Delete", - "confirm-delete-donor-with-all-donations": "Confirm, delete donor with all donations", - "confirm-delete-my-user-profile": "Confirm, delete my user profile", - "confirm-delete-organization-and-associated-teams-runners": "Confirm, delete organization and associated teams+runners.", - "confirm-delete-team-and-associated-runners": "Confirm, delete team and associated runners.", - "confirm-deletion": "Confirm Deletion", - "confirm-the-new-password": "Confirm the new password", - "contact": "Contact", - "contact-deleted": "Contact deleted", - "contact-information": "Contact Information", - "contact-is-being-updated": "Contact is being updated...", - "contact-is-not-a-member-in-any-group": "Contact is not a member in any group", - "contacts": "Contacts", - "contacts-are-being-loaded": "contacts are being loaded...", - "copied-token-to-clipboard": "Copied token to clipboard", - "count_organizations": "# Organizations", - "count_teams": "# Teams", - "create": "Create", - "create-a-new": "Create a new", - "create-a-new-card": "Create a new card", - "create-a-new-contact": "Create a new contact", - "create-a-new-distance-donation": "Create a new distance donation", - "create-a-new-donor": "Create a new donor", - "create-a-new-fixed-donation": "Create a new fixed donation", - "create-a-new-organization": "Create a new Organization", - "create-a-new-runner": "Create a new Runner", - "create-a-new-scan-fixed-only": "Create a new scan (fixed only)", - "create-a-new-scanstation": "Create a new station", - "create-a-new-team": "Create a new team", - "create-a-new-track": "Create a new Track", - "create-a-new-user": "Create a new User", - "create-a-new-user-group": "Create a new user group", - "create-bulk-blanco-cards": "Create bulk blanco cards", - "create-bulk-cards": "Add blanco cards", - "create-organization": "Create Organization", - "create-team": "Create Team", - "create-track": "Create Track", - "create-user": "Create User", - "created-blanco-cards": "Created blanco cards", - "creating-blanco-cards": "Creating blanco cards", - "credits": "Credits", - "csv_import__class": "Class", - "csv_import__firstname": "Firstname", - "csv_import__lastname": "Lastname", - "csv_import__middlename": "Middlename", - "csv_import__team": "Team", - "danger-zone": "Danger zone", - "dashboard-greeting": "Hello", - "dashboard-title": "Dashboard", - "datatable": { - "search": "🔍 Search...", - "sort_column_ascending": "Sort column ascending", - "sort_column_descending": "Sort column descending", - "previous": "Previous", - "next": "Next", - "page": "Page", - "showing": "Showing", - "records": "Records", - "of": "of", - "to": "to", - "loading": "Loading...", - "no_matching_records_found": "No matching records found", - "an_error_happened_while_fetching_the_data": "An error happened while fetching the data" - }, - "delete": "Delete", - "delete-contact": "Delete Contact", - "delete-donation": "Delete Donation", - "delete-donor": "Delete donor", - "delete-group": "Delete Group", - "delete-organization": "Delete Organization", - "delete-profile": "Delete Profile", - "delete-runner": "Delete Runner", - "delete-scan": "Delete scan", - "delete-station": "Delete station", - "delete-team": "Delete Team", - "delete-user": "Delete User", - "deleted-scan": "Deleted scan", - "dependency_name": "Name", - "description": "description", - "description-optional": "Description (optional)", - "deselect-all": "deselect all", - "details": "Details", - "disabled": "disabled", - "distance": "Distance", - "distance-donation": "distance donation", - "distance-in-km": "Distance in km", - "distance-track": "Distance (+Track)", - "do-you-really-want-to-delete-your-profile": "Do you really want to delete your profile?", - "do-you-want-to-delete-the-organization-delete_org-name": "Do you want to delete the organization {orgname}?", - "do-you-want-to-delete-the-team-delete_team-name": "Do you want to delete the team {teamname}?", - "do-you-want-to-delete-this-donor-with-all-related-donations": "Do you want to delete this donor with all related donations", - "documentation": "Documentation", - "donation-amount": "Donation amount", - "donation-amount-must-be-greater-that-0-00eur": "Donation amount must be greater that 0.00€", - "donations": "Donations", - "donor": "Donor", - "donor-added": "Donor added", - "donor-deleted": "donor deleted", - "donor-has-no-associated-donations": "Donor has no associated donations.", - "donor-is-being-added": "Donor is being added...", - "donor-is-being-updated": "Donor is being updated", - "donors": "Donors", - "donors-are-being-loaded": "donors are being loaded", - "dont-have-your-email-connected": "Don't have your email connected?", - "dont-panic-were-resetting-it": "Don't panic, we're resetting it ✌", - "e-mail-adress": "E-Mail Adress", - "edit": "Edit", - "edit-a-card": "Edit a card", - "edit-permissions": "edit permissions", - "email_address_or_username": "Email / username", - "enabled": "enabled", - "enabled_large": "Enabled", - "english": "English", - "error-during-import": "Error during import", - "error-whyile-copying-to-clipboard": "Error while copying to clipboard", - "error_on_login": "Error on login", - "erteilte": "Directly granted", - "everything-concerning-your-profile": "Everything concerning your profile", - "everything-is-more-fun-together": "everything is more fun together đŸƒâ€â™‚ïžđŸƒâ€â™€ïžđŸƒâ€â™‚ïž", - "faq": "FAQ", - "filter-by-organization-team": "Filter by Organization/ Team", - "first-name": "First name", - "first-name-is-required": "First Name is required", - "first-scan-of-the-day": "First scan of the day.", - "fixed-donation": "fixed donation", - "forgot_password": "Forgot your password?", - "geerbte": "inherited", - "general-stats": "General Stats", - "general_promise_error": "😱 Error", - "generate-runnercards": "Generate Runnercards", - "generate-sponsoring-contract": "generate sponsoring contract", - "generate-sponsoring-contracts": "generate sponsoring contracts", - "generating-pdf": "generating PDF...", - "generating-pdfs": "generating PDFs...", - "generic-ui-logic-error": "Something went wrong in the UI logic", - "german": "German", - "go-to-login": "Go To Login", - "goback": "Go Home", - "granted": "granted", - "group": "Group", - "group-added": "Group added", - "group-is-being-added": "Group is being added...", - "group-name-is-required": "Group name is required", - "group-updated": "group updated", - "groups": "Groups", - "groups-are-being-loaded": "Groups are being loaded", - "home": "Home", - "icon-image-credits": "We also want to thank these projects for illustrations and icons:", - "if-you-want-to-create-multiple-blanco-cards-try-the-add-bulk-button": "If you want to create multiple blanco cards: Try the 'Add blanco cards' button.", - "import-finished": "Import finished", - "import-runners": "Import runners", - "import__target-organization": "Target Organization", - "imprint": "Imprint", - "imprint-loading": "Imprint loading...", - "inactive": "Inactive", - "installed-version": "Installed version", - "internal-error": "Internal Error", - "invalid": "Invalid", - "invalid-mail-reset": "the provided email is invalid", - "just-enter-how-many-you-want-and-the-system-will-create-them": "Just enter how many you want and the system will create them", - "laeufer-hinzufuegen": "Add runner", - "laeufer-importieren": "LĂ€ufer importieren", - "laptime": "Laptime", - "last-name": "Last name", - "last-name-is-required": "Last Name is required", - "lfk-is-os": "The \"Lauf fĂŒr Kaya!\" Frontend is (like all other projects for the \"LfK!\" Also) an open source project.", - "license": "License", - "licenses-are-being-loaded": "Licenses are being loaded...", - "loading-cards": "Loading cards", - "loading-contact-details": "Loading contact details...", - "loading-donation-details": "Loading donation details", - "loading-donor-details": "Loading donor details", - "loading-group-detail": "Loading group detail...", - "loading-profile-data": "Loading profile data", - "loading-runners": "loading runners...", - "loading-station-details": "Loading station details", - "log_in": "Log in", - "log_in_to_your_account": "Log in to your account", - "login_is_checked": "Login is being checked...", - "logout": "Logout", - "mail-validation-in-progress": "mail validation in progress...", - "manage-admin-users": "manage admin users", - "middle-name": "Middle name", - "minimum-lap-time-in-s": "minimum lap time in s", - "minimum-lap-time-must-be-a-positive-number-or-0": "minimum lap time must be a positive number or 0", - "name": "Name", - "name-is-required": "Name is required", - "new-password": "New password", - "no-contact-found": "No contacts found", - "no-contact-selected": "No contact selected", - "no-contact-specified": "no contact specified", - "no-donors-found": "No donors found", - "no-license-text-could-be-found": "No license text could be found 😱", - "no-organization-or-team-found": "No organization or team found", - "no-organization-specified": "no organization specified", - "no-organizations-found": "No organizations found", - "no-runners-found": "No runners found", - "no-tracks-added-yet": "there are no tracks added yet.", - "non-blanko": "Non/Blanko", - "organization": "Organization", - "organization-added": "Organization added", - "organization-deleted": "Organization deleted", - "organization-detail-is-being-loaded": "organization detail is being loaded...", - "organization-is-being-added": "Organization is being added...", - "organization-name-is-required": "Organization name is required", - "organizations": "Organizations", - "organizations-are-being-loaded": "organizations are being loaded...", - "orgs": "Organizations", - "oss_credit_description": "We use a lot of open source software on these projects, and would like to thank the following projects and contributors who help make open source great!", - "password": "Password", - "password-changed": "Password changed!", - "password-is-required": "Password is required", - "password-reset-failed": "Password reset failed!", - "password-reset-in-progress": "Password Reset in Progress...", - "password-reset-mail-sent": "Password reset mail was sent to \"{usersEmail}\".", - "password-reset-successful": "Password Reset successful!", - "passwords-dont-match": "Passwords don't match", - "pdf-generation-failed": "PDF generation failed!", - "pdf-successfully-generated": "PDF successfully generated!", - "pdfs-successfully-generated": "PDFs successfully generated!", - "per-kilometer": "per Kilometer", - "permissions": "Permissions", - "permissions-updated": "Permissions updated!", - "phone": "Phone", - "please-copy-the-token-and-store-it-somewhere-save": "Please copy the token and store it somewhere safe.", - "please-provide-a-password": "Please provide a password...", - "please-provide-the-nessecary-information-to-add-a-new-donor": "Please provide the nessecary information to add a new donor", - "please-provide-the-nessecary-information-to-create-a-new-donation": "Please provide the nessecary information to create a new donation", - "please-provide-the-nessecary-information-to-create-a-new-scan": "Please provide the nessecary information to create a new scan.", - "please-provide-the-required-csv-xlsx-file": "Please provide the required csv/ xlsx file", - "please-provide-the-required-information-for-creating-a-new-user-group": "Please provide the required information for creating a new user group.", - "please-provide-the-required-information-to-add-a-new-contact": "Please provide the required information to add a new contact.", - "please-provide-the-required-information-to-add-a-new-organization": "Please provide the required information to add a new organization.", - "please-provide-the-required-information-to-add-a-new-runner": "Please provide the required information to add a new runner.", - "please-provide-the-required-information-to-add-a-new-team": "Please provide the required information to add a new team.", - "please-provide-the-required-information-to-add-a-new-track": "Please provide the required information to add a new track.", - "please-provide-the-required-information-to-add-a-new-user": "Please provide the required information to add a new user.", - "please-provide-the-required-information-to-create-a-new-scanstation": "Please provide the required information to create a new scanstation", - "please-request-a-new-reset-mail": "Please request a new reset mail...", - "privacy": "Privacy", - "privacy-loading": "Privacy loading...", - "profile": "Profile", - "profile-picture": "Profile Picture", - "profile-updated": "Profile updated!", - "read-license": "Read License", - "receipt-needed": "Receipt needed", - "repo_link": "Link", - "request-a-new-reset-mail": "Request a new reset mail", - "reset-my-password": "Reset my password", - "reset-password": "Reset your password", - "runner": "Runner", - "runner-added": "Runner added", - "runner-import": "Runner Import", - "runner-is-being-added": "Runner is being added...", - "runner-updated": "Runner updated!", - "runnerimport_verify_runners_org": "Please confirm these runners for import into the organization \"{org_name}\"", - "runners": "Runners", - "runners-are-being-imported": "Runners are being imported...", - "runners-are-being-loaded": "runners are being loaded...", - "save": "Save", - "save-changes": "Save Changes", - "scan-added": "Scan added", - "scan-is-being-updated": "Scan is being updated", - "scan-with-fixed-distance": "Scan with fixed distance", - "scans": "Scans", - "scans-are-being-loaded": "Scans are being loaded", - "scanstation": "Scanstation", - "scanstation-added": "Scanstation added", - "scanstation-is-being-added": "Adding scanstation...", - "scanstations": "Scanstations", - "scanstations-are-being-loaded": "Loading scanstations...", - "search-for-an-organization-by-name-or-id": "Search for an organization (by name or id)", - "search-for-an-organization-or-team-by-name-or-id": "Search for an organization or team (by name or id)", - "search-for-donor-name-or-id": "Search for donor (by name or id)", - "search-for-permission": "Search for permission", - "search-for-runner-by-name-or-id": "Search for runner (by name or id)", - "select-all": "select all", - "select-language": "Select language", - "send-a-mail-to-lfk-odit-services": "send a mail to lfk@odit.services", - "set-the-user-active-inactive": "set the user active/ inactive", - "settings": "Settings", - "settings-for-your-profile": "Settings for your profile", - "something-about-the-group": "Something about the group...", - "stats-are-being-loaded": "stats are being loaded...", - "status": "Status", - "stuff-that-could-harm-your-profile": "Stuff that could harm your profile", - "successful-password-reset": "Successful password reset!", - "team": "Team", - "team-detail-is-being-loaded": "team detail is being loaded...", - "team-name": "Team name", - "team-name-is-required": "team name is required", - "teams": "Teams", - "teams-are-being-loaded": "teams are being loaded...", - "the-provided-phone-number-is-invalid-less-than-br-greater-than-please-enter-a-valid-international-number": "the provided phone number is invalid.
please enter a valid international number...", - "the-scans-distance-must-be-greater-than-0m": "The scan's distance must be greater than 0m", - "the-scanstations-api-token-will-only-get-displayed-once-you-wont-be-able-to-change-or-view-it-again": "The scanstation api token will only get displayed once - you won't be able to change or view it again!", - "there-are-no-cards-yet": "There are no cards yet.", - "there-are-no-contacts-added-yet": "There are no contacts added yet.", - "there-are-no-donations-yet": "There are no donations yet", - "there-are-no-donors-yet": "There are no donors yet", - "there-are-no-groups-yet": "There are no groups yet", - "there-are-no-organizations-added-yet": "There are no organizations added yet.", - "there-are-no-runners-added-yet": "There are no runners added yet.", - "there-are-no-scans-yet": "There are no scans yet", - "there-are-no-teams-added-yet": "There are no teams added yet.", - "there-are-no-users-added-yet": "There are no users added yet.", - "this-card-is": "This card is", - "this-might-take-a-moment": "This might take a moment 👀", - "this-scanstation-is": "This scanstation is", - "token": "Token", - "total-distance": "total distance", - "total-donation-amount": "total donation amount", - "total-donations": "total donations", - "total-scans": "total scans", - "track": "Track", - "track-added": "Track added", - "track-data-is-being-loaded": "Track data is being loaded", - "track-is-being-added": "Track is being added...", - "track-length-in-m": "Track Length in m", - "track-length-must-be-greater-than-0": "Track length must be greater than 0", - "track-name": "Track name", - "track-name-must-not-be-empty": "Track name must not be empty", - "tracks": "Tracks", - "update-card": "Update Card", - "update-password": "Update password", - "updated-contact": "Updated contact!", - "updated-donor": "updated donor", - "updated-organization": "updated organization", - "updated-scan": "updated scan", - "updateing-group": "updateing group...", - "updating-card": "Updating card", - "updating-organization": "updating organization", - "updating-permissions": "updating permissions...", - "updating-runner": "Updating runner...", - "updating-user": "updating user...", - "updating-your-profile": "Updating your profile...", - "user-added": "User added", - "user-groups": "User Groups", - "user-is-being-added": "User is being added...", - "user-updated": "User updated", - "username": "Username", - "users": "Users", - "valid": "Valid", - "valid-city-is-required": "Valid city is required", - "valid-email-is-required": "valid email is required", - "valid-international-phone-number-is-required": "valid international phone number is required...", - "valid-zipcode-postal-code-is-required": "Valid zipcode/ postal code is required", - "verfuegbare": "availdable", - "welcome_wavinghand": "Welcome 👋", - "yes-i-copied-the-token": "Yes, I copied the token", - "you-are-going-to-loose-all-permissions-and-access-to-the-runner-system": "You are going to loose all permissions and access to the runner system!", - "you-can-now-use-your-new-password-to-log-in-to-your-account": "You can now use your new password to log in to your account! 🎉", - "you-can-provide-a-runner-but-you-dont-have-to": "You can provide a runner, but you don't have to.", - "you-dont-have-any-scanstations-yet": "You don't have any scanstations yet", - "you-have-to-provide-an-organization": "You have to provide an organization", - "you-must-create-at-least-one-card-or-cancel": "You must create at least one card (or cancel).", - "zip-postal-code": "ZIP/ postal code", - "selfservice-registration": "Selfservice registration", - "copied-link-to-clipboard": "Copied link to clipboard", - "click-to-copy-the-link-into-your-clipboard": "Click to copy the link into your clipboard", - "you-have-to-save-your-changes-to-generate-a-link": "You have to save your changes to generate a link." -} + "404message": "Sorry, the page you are looking for could not be found.", + "404title": "Error 404", + "about": "About", + "action": "Action", + "active": "Active", + "add-card": "Add Card", + "add-donation": "Add donation", + "add-donor": "add donor", + "add-scan": "Add scan", + "add-the-first-scanstation": "Add your first scanstation.", + "add-user-group": "Add User Group", + "add-your-first-card": "Add your first card", + "add-your-first-contact": "Add your first contact", + "add-your-first-donor": "add your first donor", + "add-your-first-group": "Add your first group", + "add-your-first-organization": "Add your first organization", + "add-your-first-runner": "Add your first runner", + "add-your-first-team": "Add your first team", + "add-your-first-track": "Add your first track.", + "add-your-first-user": "Add your first user", + "add-your-fist-donation": "Add your fist donation", + "add-your-fist-scan": "Add your fist scan", + "adding-card": "Adding Card", + "adding-scan": "Adding Scan", + "address": "Address", + "address-is-required": "Address is required", + "after-deletion-we-cant-restore-your-old-profile": "After deletion we can't restore your old profile!", + "after-the-update-youll-get-logged-out-please-login-with-your-new-password-after-that": "After the update you'll get logged out - Please login with your new password after that.", + "all-associated-donations-will-get-deleted-as-well": "All associated donations will get deleted as well", + "all-associated-runners-will-be-deleted-too": "All associated runners will be deleted too!", + "all-associated-teams-and-runners-will-be-deleted-too": "All associated teams and runners will be deleted too!", + "amount": "Amount", + "amount-per-kilometer": "Amount per kilometer", + "apartment-suite-etc": "Apartment, suite, etc.", + "application_name": "Lauf fĂŒr Kaya! - Admin", + "applying-changes": "Applying Changes", + "attention": "Attention!", + "author": "Author", + "bitte-bestaetige-diese-laeufer-fuer-den-import": "Please confirm these runners for import.", + "by": "by", + "cancel": "Cancel", + "cancel-delete": "Cancel Delete", + "cancel-keep-donor": "Cancel, keep donor", + "cancel-keep-my-profile": "Cancel, keep my profile", + "cancel-keep-organization": "Cancel, keep organization", + "cancel-keep-team": "Cancel, keep team", + "cannot-reset-your-password-directly": "Bummer. We unfortunately cannot reset your password directly. Please send us a mail and confirm your identity", + "card-added": "Card added", + "card-deleted": "Card deleted", + "card-updated": "Card updated", + "cards": "Cards", + "change-your-password-here": "Change your password here", + "changing-your-password": "Changing your password", + "city": "City", + "click-to-copy-the-link-into-your-clipboard": "Click to copy the link into your clipboard", + "click-to-copy-token-to-clipboard": "Click to copy the token to your clipboard", + "close": "Close", + "code": "Code", + "configure-the-tracks-and-minimum-lap-times": "configure the tracks & minimum lap times", + "confirm": "Confirm", + "confirm-delete": "Confirm Delete", + "confirm-delete-donor-with-all-donations": "Confirm, delete donor with all donations", + "confirm-delete-my-user-profile": "Confirm, delete my user profile", + "confirm-delete-organization-and-associated-teams-runners": "Confirm, delete organization and associated teams+runners.", + "confirm-delete-team-and-associated-runners": "Confirm, delete team and associated runners.", + "confirm-deletion": "Confirm Deletion", + "confirm-the-new-password": "Confirm the new password", + "contact": "Contact", + "contact-deleted": "Contact deleted", + "contact-information": "Contact Information", + "contact-is-being-updated": "Contact is being updated...", + "contact-is-not-a-member-in-any-group": "Contact is not a member in any group", + "contacts": "Contacts", + "contacts-are-being-loaded": "contacts are being loaded...", + "copied-link-to-clipboard": "Copied link to clipboard", + "copied-token-to-clipboard": "Copied token to clipboard", + "count_organizations": "# Organizations", + "count_teams": "# Teams", + "create": "Create", + "create-a-new": "Create a new", + "create-a-new-card": "Create a new card", + "create-a-new-contact": "Create a new contact", + "create-a-new-distance-donation": "Create a new distance donation", + "create-a-new-donor": "Create a new donor", + "create-a-new-fixed-donation": "Create a new fixed donation", + "create-a-new-organization": "Create a new Organization", + "create-a-new-runner": "Create a new Runner", + "create-a-new-scan-fixed-only": "Create a new scan (fixed only)", + "create-a-new-scanstation": "Create a new station", + "create-a-new-team": "Create a new team", + "create-a-new-track": "Create a new Track", + "create-a-new-user": "Create a new User", + "create-a-new-user-group": "Create a new user group", + "create-bulk-blanco-cards": "Create bulk blanco cards", + "create-bulk-cards": "Add blanco cards", + "create-organization": "Create Organization", + "create-team": "Create Team", + "create-track": "Create Track", + "create-user": "Create User", + "created-blanco-cards": "Created blanco cards", + "creating-blanco-cards": "Creating blanco cards", + "credits": "Credits", + "csv_import__class": "Class", + "csv_import__firstname": "Firstname", + "csv_import__lastname": "Lastname", + "csv_import__middlename": "Middlename", + "csv_import__team": "Team", + "danger-zone": "Danger zone", + "dashboard-greeting": "Hello", + "dashboard-title": "Dashboard", + "datatable": { + "search": "🔍 Search...", + "sort_column_ascending": "Sort column ascending", + "sort_column_descending": "Sort column descending", + "previous": "Previous", + "next": "Next", + "page": "Page", + "showing": "Showing", + "records": "Records", + "of": "of", + "to": "to", + "loading": "Loading...", + "no_matching_records_found": "No matching records found", + "an_error_happened_while_fetching_the_data": "An error happened while fetching the data" + }, + "delete": "Delete", + "delete-contact": "Delete Contact", + "delete-donation": "Delete Donation", + "delete-donor": "Delete donor", + "delete-group": "Delete Group", + "delete-organization": "Delete Organization", + "delete-profile": "Delete Profile", + "delete-runner": "Delete Runner", + "delete-scan": "Delete scan", + "delete-station": "Delete station", + "delete-team": "Delete Team", + "delete-user": "Delete User", + "deleted-scan": "Deleted scan", + "dependency_name": "Name", + "description": "description", + "description-optional": "Description (optional)", + "deselect-all": "deselect all", + "details": "Details", + "disabled": "disabled", + "distance": "Distance", + "distance-donation": "distance donation", + "distance-in-km": "Distance in km", + "distance-track": "Distance (+Track)", + "do-you-really-want-to-delete-your-profile": "Do you really want to delete your profile?", + "do-you-want-to-delete-the-organization-delete_org-name": "Do you want to delete the organization {orgname}?", + "do-you-want-to-delete-the-team-delete_team-name": "Do you want to delete the team {teamname}?", + "do-you-want-to-delete-this-donor-with-all-related-donations": "Do you want to delete this donor with all related donations", + "documentation": "Documentation", + "donation-amount": "Donation amount", + "donation-amount-must-be-greater-that-0-00eur": "Donation amount must be greater that 0.00€", + "donations": "Donations", + "donor": "Donor", + "donor-added": "Donor added", + "donor-deleted": "donor deleted", + "donor-has-no-associated-donations": "Donor has no associated donations.", + "donor-is-being-added": "Donor is being added...", + "donor-is-being-updated": "Donor is being updated", + "donors": "Donors", + "donors-are-being-loaded": "donors are being loaded", + "dont-have-your-email-connected": "Don't have your email connected?", + "dont-panic-were-resetting-it": "Don't panic, we're resetting it ✌", + "e-mail-adress": "E-Mail Adress", + "edit": "Edit", + "edit-a-card": "Edit a card", + "edit-permissions": "edit permissions", + "email_address_or_username": "Email / username", + "enabled": "enabled", + "enabled_large": "Enabled", + "english": "English", + "error-during-import": "Error during import", + "error-whyile-copying-to-clipboard": "Error while copying to clipboard", + "error_on_login": "Error on login", + "erteilte": "Directly granted", + "everything-concerning-your-profile": "Everything concerning your profile", + "everything-is-more-fun-together": "everything is more fun together đŸƒâ€â™‚ïžđŸƒâ€â™€ïžđŸƒâ€â™‚ïž", + "faq": "FAQ", + "filter-by-organization-team": "Filter by Organization/ Team", + "first-name": "First name", + "first-name-is-required": "First Name is required", + "first-scan-of-the-day": "First scan of the day.", + "fixed-donation": "fixed donation", + "forgot_password": "Forgot your password?", + "geerbte": "inherited", + "general-stats": "General Stats", + "general_promise_error": "😱 Error", + "generate-runnercards": "Generate Runnercards", + "generate-sponsoring-contract": "generate sponsoring contract", + "generate-sponsoring-contracts": "generate sponsoring contracts", + "generating-pdf": "generating PDF...", + "generating-pdfs": "generating PDFs...", + "generic-ui-logic-error": "Something went wrong in the UI logic", + "german": "German", + "go-to-login": "Go To Login", + "goback": "Go Home", + "granted": "granted", + "group": "Group", + "group-added": "Group added", + "group-is-being-added": "Group is being added...", + "group-name-is-required": "Group name is required", + "group-updated": "group updated", + "groups": "Groups", + "groups-are-being-loaded": "Groups are being loaded", + "home": "Home", + "icon-image-credits": "We also want to thank these projects for illustrations and icons:", + "if-you-want-to-create-multiple-blanco-cards-try-the-add-bulk-button": "If you want to create multiple blanco cards: Try the 'Add blanco cards' button.", + "import-finished": "Import finished", + "import-runners": "Import runners", + "import__target-organization": "Target Organization", + "imprint": "Imprint", + "imprint-loading": "Imprint loading...", + "inactive": "Inactive", + "installed-version": "Installed version", + "internal-error": "Internal Error", + "invalid": "Invalid", + "invalid-mail-reset": "the provided email is invalid", + "just-enter-how-many-you-want-and-the-system-will-create-them": "Just enter how many you want and the system will create them", + "laeufer-hinzufuegen": "Add runner", + "laeufer-importieren": "LĂ€ufer importieren", + "laptime": "Laptime", + "last-name": "Last name", + "last-name-is-required": "Last Name is required", + "lfk-is-os": "The \"Lauf fĂŒr Kaya!\" Frontend is (like all other projects for the \"LfK!\" Also) an open source project.", + "license": "License", + "licenses-are-being-loaded": "Licenses are being loaded...", + "loading-cards": "Loading cards", + "loading-contact-details": "Loading contact details...", + "loading-donation-details": "Loading donation details", + "loading-donor-details": "Loading donor details", + "loading-group-detail": "Loading group detail...", + "loading-profile-data": "Loading profile data", + "loading-runners": "loading runners...", + "loading-station-details": "Loading station details", + "log_in": "Log in", + "log_in_to_your_account": "Log in to your account", + "login_is_checked": "Login is being checked...", + "logout": "Logout", + "mail-validation-in-progress": "mail validation in progress...", + "manage-admin-users": "manage admin users", + "middle-name": "Middle name", + "minimum-lap-time-in-s": "minimum lap time in s", + "minimum-lap-time-must-be-a-positive-number-or-0": "minimum lap time must be a positive number or 0", + "name": "Name", + "name-is-required": "Name is required", + "new-password": "New password", + "no-contact-found": "No contacts found", + "no-contact-selected": "No contact selected", + "no-contact-specified": "no contact specified", + "no-donors-found": "No donors found", + "no-license-text-could-be-found": "No license text could be found 😱", + "no-organization-or-team-found": "No organization or team found", + "no-organization-specified": "no organization specified", + "no-organizations-found": "No organizations found", + "no-runners-found": "No runners found", + "no-tracks-added-yet": "there are no tracks added yet.", + "non-blanko": "Non/Blanko", + "organization": "Organization", + "organization-added": "Organization added", + "organization-deleted": "Organization deleted", + "organization-detail-is-being-loaded": "organization detail is being loaded...", + "organization-is-being-added": "Organization is being added...", + "organization-name-is-required": "Organization name is required", + "organizations": "Organizations", + "organizations-are-being-loaded": "organizations are being loaded...", + "orgs": "Organizations", + "oss_credit_description": "We use a lot of open source software on these projects, and would like to thank the following projects and contributors who help make open source great!", + "password": "Password", + "password-changed": "Password changed!", + "password-is-required": "Password is required", + "password-reset-failed": "Password reset failed!", + "password-reset-in-progress": "Password Reset in Progress...", + "password-reset-mail-sent": "Password reset mail was sent to \"{usersEmail}\".", + "password-reset-successful": "Password Reset successful!", + "passwords-dont-match": "Passwords don't match", + "pdf-generation-failed": "PDF generation failed!", + "pdf-successfully-generated": "PDF successfully generated!", + "pdfs-successfully-generated": "PDFs successfully generated!", + "per-kilometer": "per Kilometer", + "permissions": "Permissions", + "permissions-updated": "Permissions updated!", + "phone": "Phone", + "please-copy-the-token-and-store-it-somewhere-save": "Please copy the token and store it somewhere safe.", + "please-provide-a-password": "Please provide a password...", + "please-provide-the-nessecary-information-to-add-a-new-donor": "Please provide the nessecary information to add a new donor", + "please-provide-the-nessecary-information-to-create-a-new-donation": "Please provide the nessecary information to create a new donation", + "please-provide-the-nessecary-information-to-create-a-new-scan": "Please provide the nessecary information to create a new scan.", + "please-provide-the-required-csv-xlsx-file": "Please provide the required csv/ xlsx file", + "please-provide-the-required-information-for-creating-a-new-user-group": "Please provide the required information for creating a new user group.", + "please-provide-the-required-information-to-add-a-new-contact": "Please provide the required information to add a new contact.", + "please-provide-the-required-information-to-add-a-new-organization": "Please provide the required information to add a new organization.", + "please-provide-the-required-information-to-add-a-new-runner": "Please provide the required information to add a new runner.", + "please-provide-the-required-information-to-add-a-new-team": "Please provide the required information to add a new team.", + "please-provide-the-required-information-to-add-a-new-track": "Please provide the required information to add a new track.", + "please-provide-the-required-information-to-add-a-new-user": "Please provide the required information to add a new user.", + "please-provide-the-required-information-to-create-a-new-scanstation": "Please provide the required information to create a new scanstation", + "please-request-a-new-reset-mail": "Please request a new reset mail...", + "privacy": "Privacy", + "privacy-loading": "Privacy loading...", + "profile": "Profile", + "profile-picture": "Profile Picture", + "profile-updated": "Profile updated!", + "read-license": "Read License", + "receipt-needed": "Receipt needed", + "repo_link": "Link", + "request-a-new-reset-mail": "Request a new reset mail", + "reset-my-password": "Reset my password", + "reset-password": "Reset your password", + "runner": "Runner", + "runner-added": "Runner added", + "runner-import": "Runner Import", + "runner-is-being-added": "Runner is being added...", + "runner-updated": "Runner updated!", + "runnerimport_verify_runners_org": "Please confirm these runners for import into the organization \"{org_name}\"", + "runners": "Runners", + "runners-are-being-imported": "Runners are being imported...", + "runners-are-being-loaded": "runners are being loaded...", + "save": "Save", + "save-changes": "Save Changes", + "scan-added": "Scan added", + "scan-is-being-updated": "Scan is being updated", + "scan-with-fixed-distance": "Scan with fixed distance", + "scans": "Scans", + "scans-are-being-loaded": "Scans are being loaded", + "scanstation": "Scanstation", + "scanstation-added": "Scanstation added", + "scanstation-is-being-added": "Adding scanstation...", + "scanstations": "Scanstations", + "scanstations-are-being-loaded": "Loading scanstations...", + "search-for-an-organization-by-name-or-id": "Search for an organization (by name or id)", + "search-for-an-organization-or-team-by-name-or-id": "Search for an organization or team (by name or id)", + "search-for-donor-name-or-id": "Search for donor (by name or id)", + "search-for-permission": "Search for permission", + "search-for-runner-by-name-or-id": "Search for runner (by name or id)", + "select-all": "select all", + "select-language": "Select language", + "selfservice-registration": "Selfservice registration", + "send-a-mail-to-lfk-odit-services": "send a mail to lfk@odit.services", + "set-the-user-active-inactive": "set the user active/ inactive", + "settings": "Settings", + "settings-for-your-profile": "Settings for your profile", + "something-about-the-group": "Something about the group...", + "stats-are-being-loaded": "stats are being loaded...", + "status": "Status", + "stuff-that-could-harm-your-profile": "Stuff that could harm your profile", + "successful-password-reset": "Successful password reset!", + "team": "Team", + "team-detail-is-being-loaded": "team detail is being loaded...", + "team-name": "Team name", + "team-name-is-required": "team name is required", + "teams": "Teams", + "teams-are-being-loaded": "teams are being loaded...", + "the-provided-phone-number-is-invalid-less-than-br-greater-than-please-enter-a-valid-international-number": "the provided phone number is invalid.
please enter a valid international number...", + "the-scans-distance-must-be-greater-than-0m": "The scan's distance must be greater than 0m", + "the-scanstations-api-token-will-only-get-displayed-once-you-wont-be-able-to-change-or-view-it-again": "The scanstation api token will only get displayed once - you won't be able to change or view it again!", + "there-are-no-cards-yet": "There are no cards yet.", + "there-are-no-contacts-added-yet": "There are no contacts added yet.", + "there-are-no-donations-yet": "There are no donations yet", + "there-are-no-donors-yet": "There are no donors yet", + "there-are-no-groups-yet": "There are no groups yet", + "there-are-no-organizations-added-yet": "There are no organizations added yet.", + "there-are-no-runners-added-yet": "There are no runners added yet.", + "there-are-no-scans-yet": "There are no scans yet", + "there-are-no-teams-added-yet": "There are no teams added yet.", + "there-are-no-users-added-yet": "There are no users added yet.", + "this-card-is": "This card is", + "this-might-take-a-moment": "This might take a moment 👀", + "this-scanstation-is": "This scanstation is", + "token": "Token", + "total-distance": "total distance", + "total-donation-amount": "total donation amount", + "total-donations": "total donations", + "total-scans": "total scans", + "track": "Track", + "track-added": "Track added", + "track-data-is-being-loaded": "Track data is being loaded", + "track-is-being-added": "Track is being added...", + "track-length-in-m": "Track Length in m", + "track-length-must-be-greater-than-0": "Track length must be greater than 0", + "track-name": "Track name", + "track-name-must-not-be-empty": "Track name must not be empty", + "tracks": "Tracks", + "update-card": "Update Card", + "update-password": "Update password", + "updated-contact": "Updated contact!", + "updated-donor": "updated donor", + "updated-organization": "updated organization", + "updated-scan": "updated scan", + "updateing-group": "updateing group...", + "updating-card": "Updating card", + "updating-organization": "updating organization", + "updating-permissions": "updating permissions...", + "updating-runner": "Updating runner...", + "updating-user": "updating user...", + "updating-your-profile": "Updating your profile...", + "user-added": "User added", + "user-groups": "User Groups", + "user-is-being-added": "User is being added...", + "user-updated": "User updated", + "username": "Username", + "users": "Users", + "valid": "Valid", + "valid-city-is-required": "Valid city is required", + "valid-email-is-required": "valid email is required", + "valid-international-phone-number-is-required": "valid international phone number is required...", + "valid-zipcode-postal-code-is-required": "Valid zipcode/ postal code is required", + "verfuegbare": "availdable", + "welcome_wavinghand": "Welcome 👋", + "yes-i-copied-the-token": "Yes, I copied the token", + "you-are-going-to-loose-all-permissions-and-access-to-the-runner-system": "You are going to loose all permissions and access to the runner system!", + "you-can-now-use-your-new-password-to-log-in-to-your-account": "You can now use your new password to log in to your account! 🎉", + "you-can-provide-a-runner-but-you-dont-have-to": "You can provide a runner, but you don't have to.", + "you-dont-have-any-scanstations-yet": "You don't have any scanstations yet", + "you-have-to-provide-an-organization": "You have to provide an organization", + "you-have-to-save-your-changes-to-generate-a-link": "You have to save your changes to generate a link.", + "you-must-create-at-least-one-card-or-cancel": "You must create at least one card (or cancel).", + "zip-postal-code": "ZIP/ postal code" +} \ No newline at end of file From 4956bb0e9c3c1d22d60e849aea5664e35330f897 Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Fri, 26 Mar 2021 18:47:24 +0100 Subject: [PATCH 66/94] Implemented a custom password strength component ref #106 --- package.json | 1 + src/components/auth/PasswordStrength.svelte | 14 ++++++++++++++ 2 files changed, 15 insertions(+) create mode 100644 src/components/auth/PasswordStrength.svelte diff --git a/package.json b/package.json index 6429c2bf..2597a9b9 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,7 @@ "license": "CC-BY-NC-SA-4.0", "dependencies": { "@odit/lfk-client-js": "0.7.0", + "check-password-strength": "^2.0.2", "csvtojson": "^2.0.10", "gridjs": "3.3.0", "localforage": "1.9.0", diff --git a/src/components/auth/PasswordStrength.svelte b/src/components/auth/PasswordStrength.svelte new file mode 100644 index 00000000..2db8981d --- /dev/null +++ b/src/components/auth/PasswordStrength.svelte @@ -0,0 +1,14 @@ + + +
+
    + {#if !strength.contains.includes('lowercase')} +
  • Must contain a lowercase letter
  • + {/if} +
+
From 5fa9939696a35d60d762feb0cebef61d31869218 Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Fri, 26 Mar 2021 19:02:09 +0100 Subject: [PATCH 67/94] Added more cirteria to the password strength component ref #106 --- src/components/auth/PasswordStrength.svelte | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/src/components/auth/PasswordStrength.svelte b/src/components/auth/PasswordStrength.svelte index 2db8981d..4569a248 100644 --- a/src/components/auth/PasswordStrength.svelte +++ b/src/components/auth/PasswordStrength.svelte @@ -2,13 +2,28 @@ import { getLocaleFromNavigator, _ } from "svelte-i18n"; import { passwordStrength } from "check-password-strength"; export let password_change; + export let password_confirm; $: strength = passwordStrength(password_change); + $: passwords_match = (!password_confirm || (password_confirm === password_change)) -
-
    +
    + {(passwords_match)} +
      {#if !strength.contains.includes('lowercase')} -
    • Must contain a lowercase letter
    • +
    • Must contain a lowercase letter!
    • + {/if} + {#if !strength.contains.includes('uppercase')} +
    • Must contain a uppercase letter!
    • + {/if} + {#if !strength.contains.includes('number')} +
    • Must contain a number letter!
    • + {/if} + {#if !(strength.length>9)} +
    • Must be at least 10 characters long!
    • + {/if} + {#if !(passwords_match==true)} +
    • Passwords don't match!
    • {/if}
    From ad3bd312e9a5785f81029ea2b7e302ea1addd988 Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Fri, 26 Mar 2021 19:26:26 +0100 Subject: [PATCH 68/94] Added a password strength verification ref #106 --- src/components/auth/PasswordStrength.svelte | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/components/auth/PasswordStrength.svelte b/src/components/auth/PasswordStrength.svelte index 4569a248..2439652e 100644 --- a/src/components/auth/PasswordStrength.svelte +++ b/src/components/auth/PasswordStrength.svelte @@ -1,14 +1,18 @@
    - {(passwords_match)}
      {#if !strength.contains.includes('lowercase')}
    • Must contain a lowercase letter!
    • @@ -19,10 +23,10 @@ {#if !strength.contains.includes('number')}
    • Must contain a number letter!
    • {/if} - {#if !(strength.length>9)} + {#if !(strength.length > 9)}
    • Must be at least 10 characters long!
    • {/if} - {#if !(passwords_match==true)} + {#if !(passwords_match == true)}
    • Passwords don't match!
    • {/if}
    From 6aaf8384512185a3a319ce6b3e2505e910468e64 Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Fri, 26 Mar 2021 19:29:25 +0100 Subject: [PATCH 69/94] Now using pw strength component ref #106 --- src/components/settings/Settings.svelte | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/src/components/settings/Settings.svelte b/src/components/settings/Settings.svelte index e570390a..8d62ce82 100644 --- a/src/components/settings/Settings.svelte +++ b/src/components/settings/Settings.svelte @@ -4,6 +4,7 @@ import { MeService } from "@odit/lfk-client-js"; import Toastify from "toastify-js"; import ConfirmProfileDeletion from "./ConfirmProfileDeletion.svelte"; + import PasswordStrength from "../auth/PasswordStrength.svelte"; $: data_loaded = false; $: delete_triggered = false; $: original_data = {}; @@ -45,7 +46,7 @@ function changePassword() { if (data_loaded === true && update_password_enabled) { Toastify({ - text: $_('changing-your-password'), + text: $_("changing-your-password"), duration: 2500, }).showToast(); let postdata = Object.assign({}, original_data); @@ -56,7 +57,7 @@ password_change = ""; postdata = {}; Toastify({ - text: $_('password-changed'), + text: $_("password-changed"), duration: 2500, backgroundColor: "linear-gradient(to right, #00b09b, #96c93d)", }).showToast(); @@ -242,10 +243,7 @@ class="border-gray-300 placeholder-gray-500 appearance-none rounded-md relative block w-full px-3 py-2 border focus:outline-none focus:shadow-outline-blue focus:border-blue-300 focus:z-10 sm:text-sm" placeholder={$_('password')} />
    - {#if password_change != password_confirm && password_change.length > 0} - {$_('passwords-dont-match')} - {/if} +
From 5d5f7c7f5c6a69146f41996f4facfeff95791be0 Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Fri, 26 Mar 2021 19:29:37 +0100 Subject: [PATCH 70/94] Now using pw strength component for reset ref #106 --- src/components/auth/ResetPassword.svelte | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/components/auth/ResetPassword.svelte b/src/components/auth/ResetPassword.svelte index ad8b9792..459daa95 100644 --- a/src/components/auth/ResetPassword.svelte +++ b/src/components/auth/ResetPassword.svelte @@ -3,6 +3,7 @@ import { _ } from "svelte-i18n"; import Toastify from "toastify-js"; import "toastify-js/src/toastify.css"; + import PasswordStrength from "../auth/PasswordStrength.svelte"; let state = "reset_in_progress"; let password = ""; export let params; @@ -102,6 +103,7 @@ placeholder={$_('new-password')} bind:value={password} /> +
From 962dd0c1bbc0df7f20bcec5b4247188c8935c87e Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Fri, 26 Mar 2021 19:29:47 +0100 Subject: [PATCH 71/94] Added missing exports ref #106 --- src/components/auth/PasswordStrength.svelte | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/components/auth/PasswordStrength.svelte b/src/components/auth/PasswordStrength.svelte index 2439652e..007426cc 100644 --- a/src/components/auth/PasswordStrength.svelte +++ b/src/components/auth/PasswordStrength.svelte @@ -1,6 +1,9 @@ + +
diff --git a/src/components/settings/Settings.svelte b/src/components/settings/Settings.svelte index 8d62ce82..88b34f20 100644 --- a/src/components/settings/Settings.svelte +++ b/src/components/settings/Settings.svelte @@ -4,7 +4,7 @@ import { MeService } from "@odit/lfk-client-js"; import Toastify from "toastify-js"; import ConfirmProfileDeletion from "./ConfirmProfileDeletion.svelte"; - import PasswordStrength from "../auth/PasswordStrength.svelte"; + import PasswordStrength, {password_strong_enough_and_equal} from "../auth/PasswordStrength.svelte"; $: data_loaded = false; $: delete_triggered = false; $: original_data = {}; @@ -16,8 +16,7 @@ JSON.stringify(editable) === JSON.stringify(original_data) ); $: save_enabled = changes_performed && isEmail(editable.email); - $: update_password_enabled = - password_change.length > 0 && password_change === password_confirm; + $: update_password_enabled = password_strong_enough_and_equal(password_change, password_confirm); const user_promise = MeService.meControllerGet().then((data) => { data_loaded = true; data.groups = data.groups.map((g) => g.id); From 75d8f7331b6ae78f3979bb62148188a16f83cb8d Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Fri, 26 Mar 2021 19:47:26 +0100 Subject: [PATCH 74/94] Reset can now only be triggered if pw is strong enoug ref #106 --- src/components/auth/ResetPassword.svelte | 76 +++++++++++++----------- 1 file changed, 41 insertions(+), 35 deletions(-) diff --git a/src/components/auth/ResetPassword.svelte b/src/components/auth/ResetPassword.svelte index 459daa95..510f718b 100644 --- a/src/components/auth/ResetPassword.svelte +++ b/src/components/auth/ResetPassword.svelte @@ -1,39 +1,43 @@ -{#if state==="reset_success"} +{#if state === 'reset_success'}
@@ -57,31 +61,31 @@
-{:else if state==="reset_error"} -
-
- -

- {$_('application_name')} -

-

- {$_('password-reset-failed')} -

-

- {$_('please-request-a-new-reset-mail')} -

-
+{:else if state === 'reset_error'} +
+
+ +

+ {$_('application_name')} +

+

+ {$_('password-reset-failed')} +

+

+ {$_('please-request-a-new-reset-mail')} +

-
-{:else if state==="reset_in_progress"} +{:else if state === 'reset_in_progress'}
@@ -109,6 +113,8 @@
+
From 7dfaa7579a22b13194fcdd1c02b4437958261472 Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Mon, 29 Mar 2021 18:15:00 +0200 Subject: [PATCH 89/94] Bumped lfk-client-js ref #116 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 25832f28..40771637 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ }, "license": "CC-BY-NC-SA-4.0", "dependencies": { - "@odit/lfk-client-js": "0.8.0", + "@odit/lfk-client-js": "0.9.1", "check-password-strength": "^2.0.2", "csvtojson": "^2.0.10", "gridjs": "3.3.0", From 1d999d4910acb5efa21b3f9922cdb359babff404 Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Mon, 29 Mar 2021 18:23:17 +0200 Subject: [PATCH 90/94] Now returning cards on creation with pdf ref #116 --- src/components/cards/AddCardBulkModal.svelte | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/components/cards/AddCardBulkModal.svelte b/src/components/cards/AddCardBulkModal.svelte index b53bb0e5..1ab16278 100644 --- a/src/components/cards/AddCardBulkModal.svelte +++ b/src/components/cards/AddCardBulkModal.svelte @@ -34,7 +34,7 @@ text: $_("creating-blanco-cards"), duration: -1, }).showToast(); - RunnerCardService.runnerCardControllerPostBlancoBulk(card_count) + RunnerCardService.runnerCardControllerPostBlancoBulk(card_count, false) .then((result) => { bulk_modal_open = false; // @@ -62,8 +62,7 @@ text: $_("creating-blanco-cards"), duration: -1, }).showToast(); - //TODO: Adjust generation function, when backend is merged - RunnerCardService.runnerCardControllerPostBlancoBulk(card_count) + RunnerCardService.runnerCardControllerPostBlancoBulk(card_count, true) .then((result) => { bulk_modal_open = false; // @@ -72,6 +71,7 @@ duration: 500, backgroundColor: "linear-gradient(to right, #00b09b, #96c93d)", }).showToast(); + current_cards = current_cards.concat(result); const toast = Toastify({ text: $_("generating-pdf"), duration: -1, From 2d18686ce782a434ca7bd34c07c36a35b9497273 Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Mon, 29 Mar 2021 18:52:10 +0200 Subject: [PATCH 91/94] Bumped lfk client js version ref #116 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 40771637..2c695d0c 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ }, "license": "CC-BY-NC-SA-4.0", "dependencies": { - "@odit/lfk-client-js": "0.9.1", + "@odit/lfk-client-js": "0.9.2", "check-password-strength": "^2.0.2", "csvtojson": "^2.0.10", "gridjs": "3.3.0", From 89bb9c215e356e0940678f5cabd9e38bc203040e Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Mon, 29 Mar 2021 18:52:25 +0200 Subject: [PATCH 92/94] Sorted translations ref #116 --- src/locales/de.json | 852 +++++++++++++++++++++---------------------- src/locales/en.json | 854 ++++++++++++++++++++++---------------------- 2 files changed, 853 insertions(+), 853 deletions(-) diff --git a/src/locales/de.json b/src/locales/de.json index 7e9d5183..7f07204c 100644 --- a/src/locales/de.json +++ b/src/locales/de.json @@ -1,427 +1,427 @@ { - "404message": "Die gesuchte Seite wurde leider nicht gefunden.", - "404title": "Fehler 404", - "about": "Über", - "action": "Aktionen", - "active": "Aktiv", - "add-card": "Karte erstellen", - "add-donation": "Sponsoring erstellen", - "add-donor": "Sponsor:in erstellen", - "add-scan": "Scan erstellen", - "add-the-first-scanstation": "Erstelle deine erste Scannerstation.", - "add-user-group": "Neue Gruppe erstellen", - "add-your-first-card": "Erstelle deine erste LĂ€uferkarte", - "add-your-first-contact": "Erstelle den ersten Kontakt", - "add-your-first-donor": "Erstelle die erste Sponsor:in", - "add-your-first-group": "Erstelle die erste Gruppe", - "add-your-first-organization": "Erstelle die erste Organisation", - "add-your-first-runner": "Erstelle die erste LĂ€ufer:in", - "add-your-first-team": "Erstelle das erste Team", - "add-your-first-track": "Erstelle den ersten Track (Laufstrecke).", - "add-your-first-user": "Erstelle die erste Benutzer:in", - "add-your-fist-donation": "Erstelle dein erstes Sponsoring", - "add-your-fist-scan": "FĂŒge deinen ersten Scan hinzu", - "adding-card": "Karte wird erstellt", - "adding-scan": "Scan wird hinzugefĂŒgt", - "address": "Adresse", - "address-is-required": "Du musst eine Adresse angeben", - "after-deletion-we-cant-restore-your-old-profile": "Nach der Löschung können auch die Admins dein Profil nicht wiederherstellen!", - "after-the-update-youll-get-logged-out-please-login-with-your-new-password-after-that": "Nach der Änderung wirst du abgemeldet - bitte melde dich dann mit deinem neuen Passwort an.", - "all-associated-donations-will-get-deleted-as-well": "Alle Sponsorings dieser Sponsor:in werden ebenfalls gelöscht", - "all-associated-runners-will-be-deleted-too": "Alle zugehörigen LĂ€ufer:innen werden auch gelöscht!", - "all-associated-teams-and-runners-will-be-deleted-too": "Alle assoziierten Teams und LĂ€ufer:innen werden auch gelöscht!", - "amount": "Anzahl", - "amount-per-kilometer": "Betrag pro Kilometer", - "apartment-suite-etc": "Apartment, Wohnung, etc.", - "application_name": "Lauf fĂŒr Kaya! - Admin", - "applying-changes": "Änderungen anwenden", - "attention": "Achtung!", - "author": "Autor:in", - "bitte-bestaetige-diese-laeufer-fuer-den-import": "Bitte die LĂ€ufer:innen fĂŒr den Import bestĂ€tigen.", - "by": "von", - "cancel": "Abbrechen", - "cancel-delete": "Löschen abbrechen", - "cancel-keep-donor": "Abbrechen, Sponsor:in behalten", - "cancel-keep-my-profile": "Abbrechen, mein Profil behalten", - "cancel-keep-organization": "Abbrechen und Organisation bearbeiten", - "cancel-keep-team": "Abbrechen, Team behalten", - "cannot-reset-your-password-directly": "Schade. \nWir können das Passwort leider nicht direkt zurĂŒcksetzen.\nBitte sende uns eine Mail in der du deine IdentitĂ€t bestĂ€tigst.", - "card-added": "Karte wurde hinzugefĂŒgt", - "card-deleted": "Karte gelöscht", - "card-updated": "Karte aktualisiert", - "cards": "LĂ€uferkarten", - "change-your-password-here": "Hier kannst du dein Passwort Ă€ndern", - "changing-your-password": "Passwort wird geĂ€ndert", - "city": "Stadt", - "click-to-copy-the-link-into-your-clipboard": "Klicke auf den Link, um ihn in deine Zwischenablage zu kopieren", - "click-to-copy-token-to-clipboard": "Klicke auf den Token, um ihn in deine Zwischenablage zu kopieren", - "close": "Schließen", - "code": "Code", - "configure-the-tracks-and-minimum-lap-times": "Bearbeite die Tracks und ihre minimale Rundenzeit", - "confirm": "BestĂ€tigen", - "confirm-delete": "Löschung BestĂ€tigen", - "confirm-delete-donor-with-all-donations": "BestĂ€tigen, Sponsor:in mit allen Sponsorings löschen", - "confirm-delete-my-user-profile": "BestĂ€tigung, mein Benutzerprofil löschen", - "confirm-delete-organization-and-associated-teams-runners": "BestĂ€tugung, lösche die Organisation und alle zugehörigen Teams und LĂ€ufer:innen.", - "confirm-delete-team-and-associated-runners": "BestĂ€tigung, lösche das Team mitsamt seinen LĂ€ufer:innen.", - "confirm-deletion": "Löschung BestĂ€tigen", - "confirm-the-new-password": "Neues Passwort bestĂ€tigen", - "contact": "Kontakt", - "contact-deleted": "Kontakt gelöscht", - "contact-information": "Kontaktinformation", - "contact-is-being-updated": "Kontakt wird aktualisiert ...", - "contact-is-not-a-member-in-any-group": "Kontakt gehört zu keiner Gruppe", - "contacts": "Kontakte", - "contacts-are-being-loaded": "Kontakte werden geladen ...", - "copied-link-to-clipboard": "Link wurde in die Zwischenablage kopiert", - "copied-token-to-clipboard": "Token wurde in die Zwischenablage kopiert", - "count_organizations": "Organisationen (Anzahl)", - "count_teams": "Teams (Anzahl)", - "create": "Erstellen", - "create-a-new": "Erstelle eine neue", - "create-a-new-card": "Neue LĂ€uferkarte erstellen", - "create-a-new-contact": "Kontakt erstellen", - "create-a-new-distance-donation": "Erstelle ein neues Sponsoring", - "create-a-new-donor": "Neue Sponsor:in erstellen", - "create-a-new-fixed-donation": "Erstelle eine neue Festbetragsspende", - "create-a-new-organization": "Neue Organisation anlegen", - "create-a-new-runner": "Neue LĂ€ufer:in erstellen", - "create-a-new-scan-fixed-only": "Neuen Scan erstellen (nur mit Festdistanz)", - "create-a-new-scanstation": "Neue Station erstellen", - "create-a-new-team": "Erstelle ein neues Team", - "create-a-new-track": "Neuen Track erstellen", - "create-a-new-user": "Neue Benutzer:in anlegen", - "create-a-new-user-group": "Erstelle eine neue Gruppe", - "create-bulk-blanco-cards": "Blankokarten erstellen", - "create-bulk-cards": "Blankokarten erstellen", - "create-organization": "Organisation erstellen", - "create-team": "Team erstellen", - "create-track": "Track erstellen", - "create-user": "Benutzer anlegen", - "created-blanco-cards": "Blankokarten wurden erstellt", - "creating-blanco-cards": "Erstelle Blankokarten", - "credits": "Credits", - "csv_import__class": "Klasse", - "csv_import__firstname": "Vorname", - "csv_import__lastname": "Nachname", - "csv_import__middlename": "Mittelname", - "csv_import__team": "Team", - "danger-zone": "Gefahrenzone", - "dashboard-greeting": "Hallo", - "dashboard-title": "Dashboard", - "datatable": { - "search": "🔍 Suche ...", - "an_error_happened_while_fetching_the_data": "Beim Abrufen der Daten ist ein Fehler aufgetreten", - "loading": "Wird geladen...", - "next": "NĂ€chste", - "of": "von", - "previous": "Vorherige", - "to": "bis", - "showing": "Zeige", - "no_matching_records_found": "Keine passenden EintrĂ€ge gefunden", - "page": "Seite", - "records": "EintrĂ€ge", - "sort_column_ascending": "Spalte aufsteigend sortieren", - "sort_column_descending": "Spalte absteigend sortieren" - }, - "delete": "Löschen", - "delete-contact": "Kontakt löschen", - "delete-donation": "Sponsporing löschen", - "delete-donor": "Sponsor:in löschen", - "delete-group": "Gruppe löschen", - "delete-organization": "Organisation löschen", - "delete-profile": "Profil löschen", - "delete-runner": "LĂ€ufer:in löschen", - "delete-scan": "Scan löschen", - "delete-station": "Station löschen", - "delete-team": "Team Löschen", - "delete-user": "Benutzer:in löschen", - "deleted-scan": "Scan wurde gelöscht", - "dependency_name": "Name", - "description": "Beschreibung", - "description-optional": "Beschreibung (optional)", - "deselect-all": "Alle abwĂ€hlen", - "details": "Details", - "disabled": "deaktiviert", - "distance": "Distanz", - "distance-donation": "Sponsoring", - "distance-in-km": "Distanz (in KM)", - "distance-track": "Distanz (+Track)", - "do-you-really-want-to-delete-your-profile": "Möchtest du dein Profil wirklich löschen?", - "do-you-want-to-delete-the-organization-delete_org-name": "Möchtest du die Organisation {orgname} löschen?", - "do-you-want-to-delete-the-team-delete_team-name": "Möchtest du das Team {teamname} löschen?", - "do-you-want-to-delete-this-donor-with-all-related-donations": "Möchtest du diese Sponsor:in mit all ihren Sponsorings löschen?", - "documentation": "Dokumentation", - "donation-amount": "Sponsoringbetrag", - "donation-amount-must-be-greater-that-0-00eur": "Der Sponsoringbetrag muss grĂ¶ĂŸer als 0.00€ sein.", - "donations": "Sponsorings", - "donor": "Sponsor:in", - "donor-added": "Sponsor:in hinzugefĂŒgt", - "donor-deleted": "Sponsor:in gelöscht", - "donor-has-no-associated-donations": "Zur Sponsor:in gibt es noch keine Sponsorings", - "donor-is-being-added": "Sponsor:in wird hinzugefĂŒgt...", - "donor-is-being-updated": "Sponsor:in wird aktualisiert", - "donors": "Sponsor:innen", - "donors-are-being-loaded": "Sponsor:innen werden geladen", - "dont-have-your-email-connected": "Deine E-Mail ist nicht verknĂŒpft?", - "dont-panic-were-resetting-it": "Keine Panik, wir setzen es zurĂŒck ✌", - "e-mail-adress": "E-Mail-Adresse", - "edit": "Bearbeiten", - "edit-a-card": "LĂ€uferkarte bearbeiten", - "edit-permissions": "Berechtigungen bearbeiten", - "email_address_or_username": "E-Mail-Adresse/ Benutzername", - "enabled": "aktiviert", - "enabled_large": "Aktiviert", - "english": "Englisch", - "error-during-import": "Fehler beim Importieren", - "error-whyile-copying-to-clipboard": "Fehler beim Kopieren in die Zwischenablage", - "error_on_login": "😱Fehler beim Login", - "erteilte": "Direkt erteilte", - "everything-concerning-your-profile": "Alles zu deinem Profil", - "everything-is-more-fun-together": "Im Team macht's mehr Spaß đŸƒâ€â™‚ïžđŸƒâ€â™€ïžđŸƒâ€â™‚ïž", - "faq": "FAQ", - "filter-by-organization-team": "Filtern nach Organisation / Team", - "first-name": "Vorname", - "first-name-is-required": "Vorname muss angegeben werden", - "first-scan-of-the-day": "Erster Scan des Tages", - "fixed-donation": "Festbetragsspende", - "forgot_password": "Passwort vergessen?", - "geerbte": "geerbte", - "general-stats": "Allgemeine Statistiken", - "general_promise_error": "😱 Ein unbekannter Fehler ist aufgetreten", - "generate-runnercards": "LĂ€uferkarten generieren", - "generate-sponsoring-contract": "Sponsoringvertrag generieren", - "generate-sponsoring-contracts": "SponsoringvertrĂ€ge generieren", - "generating-pdf": "Pdf wird generiert...", - "generating-pdfs": "PDFs werden generiert...", - "generic-ui-logic-error": "Etwas ist in der BenutzeroberflĂ€che schiefgelaufen.", - "german": "Deutsch", - "go-to-login": "Zum Login", - "goback": "Zur Startseite", - "granted": "GewĂ€hrt", - "group": "Gruppe", - "group-added": "Gruppe hinzugefĂŒgt", - "group-is-being-added": "Gruppe wird erstellt", - "group-name-is-required": "Der Gruppenname muss angegeben werden.", - "group-updated": "Gruppe aktualisiert", - "groups": "Gruppen", - "groups-are-being-loaded": "Gruppen werden geladen", - "home": "Start", - "icon-image-credits": "Wir möchten uns außerdem fĂŒr die verwendeten Icons und Bilder bedanken bei:", - "if-you-want-to-create-multiple-blanco-cards-try-the-add-bulk-button": "Wenn du mehrere Blankokarten erstellen willst, nutze doch den \"Blankokarten erstellen\" Knopf.", - "import-finished": "Import abgeschlossen", - "import-runners": "LĂ€ufer:innen importieren", - "import__target-organization": "Ziel Organisation", - "imprint": "Impressum ", - "imprint-loading": "Impressum lĂ€dt...", - "inactive": "Inaktiv", - "installed-version": "Installierte Version", - "internal-error": "Interner Fehler", - "invalid": "UngĂŒltig", - "invalid-mail-reset": "Das ist keine gĂŒltige E-Mail", - "just-enter-how-many-you-want-and-the-system-will-create-them": "Gebe einfach ein, wie viele Blankokarten das System erstellen soll.", - "laeufer-hinzufuegen": "LĂ€ufer:in hinzufĂŒgen", - "laeufer-importieren": "LĂ€ufer:innen importieren", - "laptime": "Rundenzeit", - "last-name": "Nachname", - "last-name-is-required": "Nachname muss angegeben werden", - "lfk-is-os": "Das \"Lauf fĂŒr Kaya!\" Frontend ist (wie alle anderen Projekte fĂŒr den \"LfK!\" auch) ein OpenSource Projekt.", - "license": "Lizenz", - "licenses-are-being-loaded": "Lizenzen werden geladen...", - "loading-cards": "LĂ€uferkarten werden geladen", - "loading-contact-details": "Kontaktdaten werden geladen ...", - "loading-donation-details": "Lade Sponsoringdetails", - "loading-donor-details": "Lade Details", - "loading-group-detail": "Lade Gruppendetails...", - "loading-profile-data": "Lade Profildaten", - "loading-runners": "LĂ€ufer:innen werden geladen...", - "loading-station-details": "Lade Scanstation-Details ...", - "log_in": "Anmelden", - "log_in_to_your_account": "Bitte melde dich an", - "login_is_checked": "Login wird ĂŒberprĂŒft", - "logout": "Abmelden", - "mail-validation-in-progress": "E-Mail Verifizierung lĂ€uft... ", - "manage-admin-users": "Nutzer verwalten", - "middle-name": "Mittelname", - "minimum-lap-time-in-s": "Minimale Rundenzeit (in Sekunden)", - "minimum-lap-time-must-be-a-positive-number-or-0": "Die minimale Rundenzeit muss eine positive Zahl oder 0 sein", - "must-be-at-least-10-characters-long": "Passwort muss mindestens 10 Zeichen lang sein!", - "must-contain-a-lowercase-letter": "Passwort muss einen Großbuchstaben enthalten!", - "must-contain-a-number": "Passwort muss eine Zahl enthalten!", - "must-contain-a-uppercase-letter": "Passwort muss einen Kleinbuchstaben enthalten!", - "name": "Name", - "name-is-required": "Der Gruppenname muss angegeben werden", - "new-password": "Neues Passwort", - "no-contact-found": "Keine Kontakte gefunden", - "no-contact-selected": "Kein Kontakt ausgewĂ€hlt", - "no-contact-specified": "Kein Kontakt angegeben", - "no-donors-found": "Keine Spender:innen gefunden", - "no-license-text-could-be-found": "Kein Lizenz-Text gefunden 😱", - "no-organization-or-team-found": "Keine Organisationen oder Teams gefunden", - "no-organization-specified": "Keine Organisation angegeben", - "no-organizations-found": "Keine Organisationen gefunden", - "no-runners-found": "Keine LĂ€ufer:innen gefunden", - "no-tracks-added-yet": "Es wurden noch keine Tracks erstellt.", - "non-blanko": "Keine/Blankokarte", - "organization": "Organisation", - "organization-added": "Organisation hinzugefĂŒgt", - "organization-deleted": "Organisation gelöscht", - "organization-detail-is-being-loaded": "Organisationsdetails werden geladen ...", - "organization-is-being-added": "Organisation wird hinzugefĂŒgt ...", - "organization-name-is-required": "Der Name muss angegeben werden", - "organizations": "Organisationen", - "organizations-are-being-loaded": "Organisationen werden geladen ...", - "orgs": "Organisationen", - "oss_credit_description": "Wir verwenden eine Menge Open Source-Software bei diesen Projekten und möchten uns bei den folgenden Projekten und Mitwirkenden bedanken, die dazu beitragen, Open Source großartig zu machen!", - "password": "Passwort", - "password-changed": "Passwort wurde aktualisiert!", - "password-is-required": "Passwort muss angegeben werden", - "password-reset-failed": "Passwort zurĂŒcksetzen ist fehlgeschlagen!", - "password-reset-in-progress": "Passwort wird zurĂŒckgesetzt...", - "password-reset-mail-sent": "Passwort-Reset Mail wurde an \"{usersEmail}\" geschickt.", - "password-reset-successful": "Passwort erfolgreich zurĂŒckgesetzt!", - "passwords-dont-match": "Die Passwörter stimmen nicht ĂŒberein!", - "pdf-generation-failed": "PDF Generierung fehlgeschlagen!", - "pdf-successfully-generated": "PDF wurde erfolgreich generiert!", - "pdfs-successfully-generated": "Alle PDFs wurden generiert!", - "per-kilometer": "pro Kilometer", - "permissions": "Berechtigungen", - "permissions-updated": "Berechtigungen aktualisiert!", - "phone": "Telefon", - "please-copy-the-token-and-store-it-somewhere-save": "Bitte kopiere dir den Token und bewahre ihn gut auf.", - "please-provide-a-password": "Bitte gebe ein Passwort an...", - "please-provide-the-nessecary-information-to-add-a-new-donor": "Bitte mach die Notwendigen Angaben, um eine neue Sponsor:in zu erstellen", - "please-provide-the-nessecary-information-to-create-a-new-donation": "Bitte gebe alle fĂŒr das Sponsoring notwendigen Daten an.", - "please-provide-the-nessecary-information-to-create-a-new-scan": "Bitte gebe alle notwendigen Informationen an, um einen neuen Scan zu erstellen.", - "please-provide-the-required-csv-xlsx-file": "Bitte eine CSV oder XLSX Datei hochladen.", - "please-provide-the-required-information-for-creating-a-new-user-group": "Bitte gebe alle fĂŒr eine neue Gruppe notwendigen Informationen an.", - "please-provide-the-required-information-to-add-a-new-contact": "Bitte gebe alle nötigen Informationen an, im den neuen Kontakt zu erstellen.", - "please-provide-the-required-information-to-add-a-new-organization": "Bitte gebe alle nötigen Informationen an, im die neue Organisation zu erstellen.", - "please-provide-the-required-information-to-add-a-new-runner": "Bitte die benötigten Informationen angeben.", - "please-provide-the-required-information-to-add-a-new-team": "Bitte gebe alle nötigen Informationen an, im das neue Team zu erstellen.", - "please-provide-the-required-information-to-add-a-new-track": "Bitte die benötigten Informationen angeben.", - "please-provide-the-required-information-to-add-a-new-user": "Bitte gebe alle nötigen Informationen an, im die neue Benutzer:in zu erstellen.", - "please-provide-the-required-information-to-create-a-new-scanstation": "Bitte gebe alle fĂŒr eine Scannerstation notwendigen Informationen an", - "please-request-a-new-reset-mail": "Bitte eine neue Passwortreset-Mail anfordern...", - "privacy": "Datenschutz", - "privacy-loading": "DatenschutzerklĂ€rung lĂ€dt...", - "profile": "Profil", - "profile-picture": "Profilbild", - "profile-updated": "Profil wurde aktualisiert!", - "read-license": "Lizenz-Text lesen", - "receipt-needed": "Spendenquittung benötigt", - "repo_link": "Link", - "request-a-new-reset-mail": "Neue Reset-Mail anfordern", - "reset-my-password": "Passwort zurĂŒcksetzen", - "reset-password": "Passwort zurĂŒcksetzen", - "runner": "LĂ€ufer:in", - "runner-added": "LĂ€ufer:in hinzugefĂŒgt", - "runner-import": "LĂ€ufer:innen Import", - "runner-is-being-added": "LĂ€ufer:in wird hinzugefĂŒgt...", - "runner-updated": "LĂ€ufer:in aktualisiert!", - "runnerimport_verify_runners_org": "Bitte die LĂ€ufer:innen fĂŒr den Import in die Organisation \"{org_name}\" bestĂ€tigen", - "runners": "LĂ€ufer", - "runners-are-being-imported": "LĂ€ufer:innen werden importiert ...", - "runners-are-being-loaded": "LĂ€ufer:innen werden geladen ...", - "save": "Speichern", - "save-changes": "Änderungen speichern", - "scan-added": "Scan hinzugefĂŒgt", - "scan-is-being-updated": "Scan wird aktualisiert", - "scan-with-fixed-distance": "Scan mit Festdistanz", - "scans": "Scans", - "scans-are-being-loaded": "Scans werden geladen", - "scanstation": "Scanner Station", - "scanstation-added": "Station wurde erstellt", - "scanstation-is-being-added": "Scannerstation wird angelegt...", - "scanstations": "Scanner Stationen", - "scanstations-are-being-loaded": "Scannerstationen werden geladen...", - "search-for-an-organization-by-name-or-id": "Suche eine Organisation (via Name oder Id)", - "search-for-an-organization-or-team-by-name-or-id": "Suche eine Organisation oder ein Team (via Name oder Id)", - "search-for-donor-name-or-id": "Suche eine Spender:in (via Name oder Id)", - "search-for-permission": "Berechtigungen durchsuchen", - "search-for-runner-by-name-or-id": "Suche eine LĂ€ufer:in (via Name oder Id)", - "select-all": "Alle auswĂ€hlen", - "select-language": "Sprache auswĂ€hlen", - "selfservice-registration": "Selfservice Registrierung", - "send-a-mail-to-lfk-odit-services": "Sende eine Mail an lfk@odit.services", - "set-the-user-active-inactive": "Den Benutzer auf (in)aktiv setzen", - "settings": "Einstellungen", - "settings-for-your-profile": "Die Einstellungen deines Accounts", - "something-about-the-group": "Infos zur Gruppe", - "stats-are-being-loaded": "Die Statistiken werden geladen...", - "status": "Status", - "stuff-that-could-harm-your-profile": "Einstellungen, die deinem Profil nachhaltig schaden können", - "successful-password-reset": "Passwort erfolgreich zurĂŒckgesetzt!", - "team": "Team", - "team-detail-is-being-loaded": "Team wird geladen...", - "team-name": "Teamname", - "team-name-is-required": "Teamname ist erforderlich", - "teams": "Teams", - "teams-are-being-loaded": "Teams werden geladen ...", - "the-provided-phone-number-is-invalid-less-than-br-greater-than-please-enter-a-valid-international-number": "Die angegebene Telefonnummer ist nicht korrekt.
Bitte gebe eine Telefonnummer im internationalen Format an...", - "the-scans-distance-must-be-greater-than-0m": "Die Distanz muss grĂ¶ĂŸer als 0m sein.", - "the-scanstations-api-token-will-only-get-displayed-once-you-wont-be-able-to-change-or-view-it-again": "Der Scannerstation Token wird nur einmal angezeigt - du kannst ihn nicht Ă€ndern oder ihn dir nochmal anzeigen lassen!", - "there-are-no-cards-yet": "Es gibt noch keine LĂ€uferkarten.", - "there-are-no-contacts-added-yet": "Es wurden noch keine Kontakte hinzugefĂŒgt.", - "there-are-no-donations-yet": "Es gibt noch keine Sponsorings", - "there-are-no-donors-yet": "Es gibt noch keine Sponsor:innen", - "there-are-no-groups-yet": "Es gibt noch keine Gruppen", - "there-are-no-organizations-added-yet": "Es wurden noch keine Organisationen hinzugefĂŒgt.", - "there-are-no-runners-added-yet": "Es wurden noch keine LĂ€ufer:innen hinzugefĂŒgt.", - "there-are-no-scans-yet": "Es gibt noch keine Scans", - "there-are-no-teams-added-yet": "Es wurden noch keine Teams hinzugefĂŒgt.", - "there-are-no-users-added-yet": "Es wurden noch keine Benutzer hinzugefĂŒgt.", - "this-card-is": "Diese Karte ist", - "this-might-take-a-moment": "Das könnte einen kleinen Moment dauern", - "this-scanstation-is": "Diese Station ist", - "token": "Token", - "total-distance": "gelaufene Strecke", - "total-donation-amount": "Gesamtbetrag", - "total-donations": "Spendensumme", - "total-scans": "gesamte Scans", - "track": "Track", - "track-added": "Track hinzugefĂŒgt", - "track-data-is-being-loaded": "Trackdaten werden geladen", - "track-is-being-added": "Track wird hinzugefĂŒgt...", - "track-length-in-m": "TracklĂ€nge (in Metern)", - "track-length-must-be-greater-than-0": "Die LĂ€nge muss grĂ¶ĂŸer als 0 (Meter) sein", - "track-name": "Trackname", - "track-name-must-not-be-empty": "Der Name muss angegeben werden", - "tracks": "Tracks", - "update-password": "Passwort Ă€ndern", - "updated-contact": "Kontakt aktualisiert!", - "updated-donor": "Sponsor:in wurde aktualisiert", - "updated-organization": "Organisation wurde aktualisiert", - "updated-scan": "Scan wurde aktualisiert", - "updateing-group": "Gruppe wird aktualisiert...", - "updating-card": "Karte wird aktualisiert", - "updating-organization": "Organisation wird aktualisiert", - "updating-permissions": "Berechtigungen werden aktualisiert...", - "updating-runner": "LĂ€ufer:in wird aktualisiert.", - "updating-user": "Benutzer:in wird aktualisiert...", - "updating-your-profile": "Profil wird aktualisiert...", - "user-added": "Benutzer hinzugefĂŒgt", - "user-groups": "Benutzergruppen", - "user-is-being-added": "Benutzer wird hinzugefĂŒgt ...", - "user-updated": "Benutzer:in wurde aktualisiert", - "username": "Benutzername", - "users": "Benutzer", - "valid": "GĂŒltig", - "valid-city-is-required": "Du musst eine Stadt angeben", - "valid-email-is-required": "Es wird eine valide E-Mail Adresse benötigt", - "valid-international-phone-number-is-required": "Du musst eine Telefonnummer im internationalen Format angeben...", - "valid-zipcode-postal-code-is-required": "Du musst eine valide Postleitzahl angeben", - "verfuegbare": "VerfĂŒgbar", - "welcome_wavinghand": "Willkommen 👋", - "yes-i-copied-the-token": "Ja, ich habe den Token kopiert", - "you-are-going-to-loose-all-permissions-and-access-to-the-runner-system": "Du wirst all deine Berechtigungen und den Zugriff aufs LĂ€ufersystem verlieren!", - "you-can-now-use-your-new-password-to-log-in-to-your-account": "Du kannst dich jetzt mit deinem neuen Passwort anmelden! 🎉", - "you-can-provide-a-runner-but-you-dont-have-to": "Du kannst eine LĂ€ufer:in angeben, musst aber nicht.", - "you-dont-have-any-scanstations-yet": "Es gibt noch keine Scannerstationen", - "you-have-to-provide-an-organization": "Du musst eine Organisation angeben", - "you-have-to-save-your-changes-to-generate-a-link": "Du musst deine Änderungen speichern, um einen Link zu generieren.", - "you-must-create-at-least-one-card-or-cancel": "Du musst mindestens eine Blankokarte erstellen (oder abbrechen).", - "zip-postal-code": "Postleitzahl", - "create-and-generate-pdf": "Erstellen und PDF herunterladen", - "create-without-pdf": "Ohne PDF erstellen" -} + "404message": "Die gesuchte Seite wurde leider nicht gefunden.", + "404title": "Fehler 404", + "about": "Über", + "action": "Aktionen", + "active": "Aktiv", + "add-card": "Karte erstellen", + "add-donation": "Sponsoring erstellen", + "add-donor": "Sponsor:in erstellen", + "add-scan": "Scan erstellen", + "add-the-first-scanstation": "Erstelle deine erste Scannerstation.", + "add-user-group": "Neue Gruppe erstellen", + "add-your-first-card": "Erstelle deine erste LĂ€uferkarte", + "add-your-first-contact": "Erstelle den ersten Kontakt", + "add-your-first-donor": "Erstelle die erste Sponsor:in", + "add-your-first-group": "Erstelle die erste Gruppe", + "add-your-first-organization": "Erstelle die erste Organisation", + "add-your-first-runner": "Erstelle die erste LĂ€ufer:in", + "add-your-first-team": "Erstelle das erste Team", + "add-your-first-track": "Erstelle den ersten Track (Laufstrecke).", + "add-your-first-user": "Erstelle die erste Benutzer:in", + "add-your-fist-donation": "Erstelle dein erstes Sponsoring", + "add-your-fist-scan": "FĂŒge deinen ersten Scan hinzu", + "adding-card": "Karte wird erstellt", + "adding-scan": "Scan wird hinzugefĂŒgt", + "address": "Adresse", + "address-is-required": "Du musst eine Adresse angeben", + "after-deletion-we-cant-restore-your-old-profile": "Nach der Löschung können auch die Admins dein Profil nicht wiederherstellen!", + "after-the-update-youll-get-logged-out-please-login-with-your-new-password-after-that": "Nach der Änderung wirst du abgemeldet - bitte melde dich dann mit deinem neuen Passwort an.", + "all-associated-donations-will-get-deleted-as-well": "Alle Sponsorings dieser Sponsor:in werden ebenfalls gelöscht", + "all-associated-runners-will-be-deleted-too": "Alle zugehörigen LĂ€ufer:innen werden auch gelöscht!", + "all-associated-teams-and-runners-will-be-deleted-too": "Alle assoziierten Teams und LĂ€ufer:innen werden auch gelöscht!", + "amount": "Anzahl", + "amount-per-kilometer": "Betrag pro Kilometer", + "apartment-suite-etc": "Apartment, Wohnung, etc.", + "application_name": "Lauf fĂŒr Kaya! - Admin", + "applying-changes": "Änderungen anwenden", + "attention": "Achtung!", + "author": "Autor:in", + "bitte-bestaetige-diese-laeufer-fuer-den-import": "Bitte die LĂ€ufer:innen fĂŒr den Import bestĂ€tigen.", + "by": "von", + "cancel": "Abbrechen", + "cancel-delete": "Löschen abbrechen", + "cancel-keep-donor": "Abbrechen, Sponsor:in behalten", + "cancel-keep-my-profile": "Abbrechen, mein Profil behalten", + "cancel-keep-organization": "Abbrechen und Organisation bearbeiten", + "cancel-keep-team": "Abbrechen, Team behalten", + "cannot-reset-your-password-directly": "Schade. \nWir können das Passwort leider nicht direkt zurĂŒcksetzen.\nBitte sende uns eine Mail in der du deine IdentitĂ€t bestĂ€tigst.", + "card-added": "Karte wurde hinzugefĂŒgt", + "card-deleted": "Karte gelöscht", + "card-updated": "Karte aktualisiert", + "cards": "LĂ€uferkarten", + "change-your-password-here": "Hier kannst du dein Passwort Ă€ndern", + "changing-your-password": "Passwort wird geĂ€ndert", + "city": "Stadt", + "click-to-copy-the-link-into-your-clipboard": "Klicke auf den Link, um ihn in deine Zwischenablage zu kopieren", + "click-to-copy-token-to-clipboard": "Klicke auf den Token, um ihn in deine Zwischenablage zu kopieren", + "close": "Schließen", + "code": "Code", + "configure-the-tracks-and-minimum-lap-times": "Bearbeite die Tracks und ihre minimale Rundenzeit", + "confirm": "BestĂ€tigen", + "confirm-delete": "Löschung BestĂ€tigen", + "confirm-delete-donor-with-all-donations": "BestĂ€tigen, Sponsor:in mit allen Sponsorings löschen", + "confirm-delete-my-user-profile": "BestĂ€tigung, mein Benutzerprofil löschen", + "confirm-delete-organization-and-associated-teams-runners": "BestĂ€tugung, lösche die Organisation und alle zugehörigen Teams und LĂ€ufer:innen.", + "confirm-delete-team-and-associated-runners": "BestĂ€tigung, lösche das Team mitsamt seinen LĂ€ufer:innen.", + "confirm-deletion": "Löschung BestĂ€tigen", + "confirm-the-new-password": "Neues Passwort bestĂ€tigen", + "contact": "Kontakt", + "contact-deleted": "Kontakt gelöscht", + "contact-information": "Kontaktinformation", + "contact-is-being-updated": "Kontakt wird aktualisiert ...", + "contact-is-not-a-member-in-any-group": "Kontakt gehört zu keiner Gruppe", + "contacts": "Kontakte", + "contacts-are-being-loaded": "Kontakte werden geladen ...", + "copied-link-to-clipboard": "Link wurde in die Zwischenablage kopiert", + "copied-token-to-clipboard": "Token wurde in die Zwischenablage kopiert", + "count_organizations": "Organisationen (Anzahl)", + "count_teams": "Teams (Anzahl)", + "create": "Erstellen", + "create-a-new": "Erstelle eine neue", + "create-a-new-card": "Neue LĂ€uferkarte erstellen", + "create-a-new-contact": "Kontakt erstellen", + "create-a-new-distance-donation": "Erstelle ein neues Sponsoring", + "create-a-new-donor": "Neue Sponsor:in erstellen", + "create-a-new-fixed-donation": "Erstelle eine neue Festbetragsspende", + "create-a-new-organization": "Neue Organisation anlegen", + "create-a-new-runner": "Neue LĂ€ufer:in erstellen", + "create-a-new-scan-fixed-only": "Neuen Scan erstellen (nur mit Festdistanz)", + "create-a-new-scanstation": "Neue Station erstellen", + "create-a-new-team": "Erstelle ein neues Team", + "create-a-new-track": "Neuen Track erstellen", + "create-a-new-user": "Neue Benutzer:in anlegen", + "create-a-new-user-group": "Erstelle eine neue Gruppe", + "create-and-generate-pdf": "Erstellen und PDF herunterladen", + "create-bulk-blanco-cards": "Blankokarten erstellen", + "create-bulk-cards": "Blankokarten erstellen", + "create-organization": "Organisation erstellen", + "create-team": "Team erstellen", + "create-track": "Track erstellen", + "create-user": "Benutzer anlegen", + "create-without-pdf": "Ohne PDF erstellen", + "created-blanco-cards": "Blankokarten wurden erstellt", + "creating-blanco-cards": "Erstelle Blankokarten", + "credits": "Credits", + "csv_import__class": "Klasse", + "csv_import__firstname": "Vorname", + "csv_import__lastname": "Nachname", + "csv_import__middlename": "Mittelname", + "csv_import__team": "Team", + "danger-zone": "Gefahrenzone", + "dashboard-greeting": "Hallo", + "dashboard-title": "Dashboard", + "datatable": { + "search": "🔍 Suche ...", + "an_error_happened_while_fetching_the_data": "Beim Abrufen der Daten ist ein Fehler aufgetreten", + "loading": "Wird geladen...", + "next": "NĂ€chste", + "of": "von", + "previous": "Vorherige", + "to": "bis", + "showing": "Zeige", + "no_matching_records_found": "Keine passenden EintrĂ€ge gefunden", + "page": "Seite", + "records": "EintrĂ€ge", + "sort_column_ascending": "Spalte aufsteigend sortieren", + "sort_column_descending": "Spalte absteigend sortieren" + }, + "delete": "Löschen", + "delete-contact": "Kontakt löschen", + "delete-donation": "Sponsporing löschen", + "delete-donor": "Sponsor:in löschen", + "delete-group": "Gruppe löschen", + "delete-organization": "Organisation löschen", + "delete-profile": "Profil löschen", + "delete-runner": "LĂ€ufer:in löschen", + "delete-scan": "Scan löschen", + "delete-station": "Station löschen", + "delete-team": "Team Löschen", + "delete-user": "Benutzer:in löschen", + "deleted-scan": "Scan wurde gelöscht", + "dependency_name": "Name", + "description": "Beschreibung", + "description-optional": "Beschreibung (optional)", + "deselect-all": "Alle abwĂ€hlen", + "details": "Details", + "disabled": "deaktiviert", + "distance": "Distanz", + "distance-donation": "Sponsoring", + "distance-in-km": "Distanz (in KM)", + "distance-track": "Distanz (+Track)", + "do-you-really-want-to-delete-your-profile": "Möchtest du dein Profil wirklich löschen?", + "do-you-want-to-delete-the-organization-delete_org-name": "Möchtest du die Organisation {orgname} löschen?", + "do-you-want-to-delete-the-team-delete_team-name": "Möchtest du das Team {teamname} löschen?", + "do-you-want-to-delete-this-donor-with-all-related-donations": "Möchtest du diese Sponsor:in mit all ihren Sponsorings löschen?", + "documentation": "Dokumentation", + "donation-amount": "Sponsoringbetrag", + "donation-amount-must-be-greater-that-0-00eur": "Der Sponsoringbetrag muss grĂ¶ĂŸer als 0.00€ sein.", + "donations": "Sponsorings", + "donor": "Sponsor:in", + "donor-added": "Sponsor:in hinzugefĂŒgt", + "donor-deleted": "Sponsor:in gelöscht", + "donor-has-no-associated-donations": "Zur Sponsor:in gibt es noch keine Sponsorings", + "donor-is-being-added": "Sponsor:in wird hinzugefĂŒgt...", + "donor-is-being-updated": "Sponsor:in wird aktualisiert", + "donors": "Sponsor:innen", + "donors-are-being-loaded": "Sponsor:innen werden geladen", + "dont-have-your-email-connected": "Deine E-Mail ist nicht verknĂŒpft?", + "dont-panic-were-resetting-it": "Keine Panik, wir setzen es zurĂŒck ✌", + "e-mail-adress": "E-Mail-Adresse", + "edit": "Bearbeiten", + "edit-a-card": "LĂ€uferkarte bearbeiten", + "edit-permissions": "Berechtigungen bearbeiten", + "email_address_or_username": "E-Mail-Adresse/ Benutzername", + "enabled": "aktiviert", + "enabled_large": "Aktiviert", + "english": "Englisch", + "error-during-import": "Fehler beim Importieren", + "error-whyile-copying-to-clipboard": "Fehler beim Kopieren in die Zwischenablage", + "error_on_login": "😱Fehler beim Login", + "erteilte": "Direkt erteilte", + "everything-concerning-your-profile": "Alles zu deinem Profil", + "everything-is-more-fun-together": "Im Team macht's mehr Spaß đŸƒâ€â™‚ïžđŸƒâ€â™€ïžđŸƒâ€â™‚ïž", + "faq": "FAQ", + "filter-by-organization-team": "Filtern nach Organisation / Team", + "first-name": "Vorname", + "first-name-is-required": "Vorname muss angegeben werden", + "first-scan-of-the-day": "Erster Scan des Tages", + "fixed-donation": "Festbetragsspende", + "forgot_password": "Passwort vergessen?", + "geerbte": "geerbte", + "general-stats": "Allgemeine Statistiken", + "general_promise_error": "😱 Ein unbekannter Fehler ist aufgetreten", + "generate-runnercards": "LĂ€uferkarten generieren", + "generate-sponsoring-contract": "Sponsoringvertrag generieren", + "generate-sponsoring-contracts": "SponsoringvertrĂ€ge generieren", + "generating-pdf": "Pdf wird generiert...", + "generating-pdfs": "PDFs werden generiert...", + "generic-ui-logic-error": "Etwas ist in der BenutzeroberflĂ€che schiefgelaufen.", + "german": "Deutsch", + "go-to-login": "Zum Login", + "goback": "Zur Startseite", + "granted": "GewĂ€hrt", + "group": "Gruppe", + "group-added": "Gruppe hinzugefĂŒgt", + "group-is-being-added": "Gruppe wird erstellt", + "group-name-is-required": "Der Gruppenname muss angegeben werden.", + "group-updated": "Gruppe aktualisiert", + "groups": "Gruppen", + "groups-are-being-loaded": "Gruppen werden geladen", + "home": "Start", + "icon-image-credits": "Wir möchten uns außerdem fĂŒr die verwendeten Icons und Bilder bedanken bei:", + "if-you-want-to-create-multiple-blanco-cards-try-the-add-bulk-button": "Wenn du mehrere Blankokarten erstellen willst, nutze doch den \"Blankokarten erstellen\" Knopf.", + "import-finished": "Import abgeschlossen", + "import-runners": "LĂ€ufer:innen importieren", + "import__target-organization": "Ziel Organisation", + "imprint": "Impressum ", + "imprint-loading": "Impressum lĂ€dt...", + "inactive": "Inaktiv", + "installed-version": "Installierte Version", + "internal-error": "Interner Fehler", + "invalid": "UngĂŒltig", + "invalid-mail-reset": "Das ist keine gĂŒltige E-Mail", + "just-enter-how-many-you-want-and-the-system-will-create-them": "Gebe einfach ein, wie viele Blankokarten das System erstellen soll.", + "laeufer-hinzufuegen": "LĂ€ufer:in hinzufĂŒgen", + "laeufer-importieren": "LĂ€ufer:innen importieren", + "laptime": "Rundenzeit", + "last-name": "Nachname", + "last-name-is-required": "Nachname muss angegeben werden", + "lfk-is-os": "Das \"Lauf fĂŒr Kaya!\" Frontend ist (wie alle anderen Projekte fĂŒr den \"LfK!\" auch) ein OpenSource Projekt.", + "license": "Lizenz", + "licenses-are-being-loaded": "Lizenzen werden geladen...", + "loading-cards": "LĂ€uferkarten werden geladen", + "loading-contact-details": "Kontaktdaten werden geladen ...", + "loading-donation-details": "Lade Sponsoringdetails", + "loading-donor-details": "Lade Details", + "loading-group-detail": "Lade Gruppendetails...", + "loading-profile-data": "Lade Profildaten", + "loading-runners": "LĂ€ufer:innen werden geladen...", + "loading-station-details": "Lade Scanstation-Details ...", + "log_in": "Anmelden", + "log_in_to_your_account": "Bitte melde dich an", + "login_is_checked": "Login wird ĂŒberprĂŒft", + "logout": "Abmelden", + "mail-validation-in-progress": "E-Mail Verifizierung lĂ€uft... ", + "manage-admin-users": "Nutzer verwalten", + "middle-name": "Mittelname", + "minimum-lap-time-in-s": "Minimale Rundenzeit (in Sekunden)", + "minimum-lap-time-must-be-a-positive-number-or-0": "Die minimale Rundenzeit muss eine positive Zahl oder 0 sein", + "must-be-at-least-10-characters-long": "Passwort muss mindestens 10 Zeichen lang sein!", + "must-contain-a-lowercase-letter": "Passwort muss einen Großbuchstaben enthalten!", + "must-contain-a-number": "Passwort muss eine Zahl enthalten!", + "must-contain-a-uppercase-letter": "Passwort muss einen Kleinbuchstaben enthalten!", + "name": "Name", + "name-is-required": "Der Gruppenname muss angegeben werden", + "new-password": "Neues Passwort", + "no-contact-found": "Keine Kontakte gefunden", + "no-contact-selected": "Kein Kontakt ausgewĂ€hlt", + "no-contact-specified": "Kein Kontakt angegeben", + "no-donors-found": "Keine Spender:innen gefunden", + "no-license-text-could-be-found": "Kein Lizenz-Text gefunden 😱", + "no-organization-or-team-found": "Keine Organisationen oder Teams gefunden", + "no-organization-specified": "Keine Organisation angegeben", + "no-organizations-found": "Keine Organisationen gefunden", + "no-runners-found": "Keine LĂ€ufer:innen gefunden", + "no-tracks-added-yet": "Es wurden noch keine Tracks erstellt.", + "non-blanko": "Keine/Blankokarte", + "organization": "Organisation", + "organization-added": "Organisation hinzugefĂŒgt", + "organization-deleted": "Organisation gelöscht", + "organization-detail-is-being-loaded": "Organisationsdetails werden geladen ...", + "organization-is-being-added": "Organisation wird hinzugefĂŒgt ...", + "organization-name-is-required": "Der Name muss angegeben werden", + "organizations": "Organisationen", + "organizations-are-being-loaded": "Organisationen werden geladen ...", + "orgs": "Organisationen", + "oss_credit_description": "Wir verwenden eine Menge Open Source-Software bei diesen Projekten und möchten uns bei den folgenden Projekten und Mitwirkenden bedanken, die dazu beitragen, Open Source großartig zu machen!", + "password": "Passwort", + "password-changed": "Passwort wurde aktualisiert!", + "password-is-required": "Passwort muss angegeben werden", + "password-reset-failed": "Passwort zurĂŒcksetzen ist fehlgeschlagen!", + "password-reset-in-progress": "Passwort wird zurĂŒckgesetzt...", + "password-reset-mail-sent": "Passwort-Reset Mail wurde an \"{usersEmail}\" geschickt.", + "password-reset-successful": "Passwort erfolgreich zurĂŒckgesetzt!", + "passwords-dont-match": "Die Passwörter stimmen nicht ĂŒberein!", + "pdf-generation-failed": "PDF Generierung fehlgeschlagen!", + "pdf-successfully-generated": "PDF wurde erfolgreich generiert!", + "pdfs-successfully-generated": "Alle PDFs wurden generiert!", + "per-kilometer": "pro Kilometer", + "permissions": "Berechtigungen", + "permissions-updated": "Berechtigungen aktualisiert!", + "phone": "Telefon", + "please-copy-the-token-and-store-it-somewhere-save": "Bitte kopiere dir den Token und bewahre ihn gut auf.", + "please-provide-a-password": "Bitte gebe ein Passwort an...", + "please-provide-the-nessecary-information-to-add-a-new-donor": "Bitte mach die Notwendigen Angaben, um eine neue Sponsor:in zu erstellen", + "please-provide-the-nessecary-information-to-create-a-new-donation": "Bitte gebe alle fĂŒr das Sponsoring notwendigen Daten an.", + "please-provide-the-nessecary-information-to-create-a-new-scan": "Bitte gebe alle notwendigen Informationen an, um einen neuen Scan zu erstellen.", + "please-provide-the-required-csv-xlsx-file": "Bitte eine CSV oder XLSX Datei hochladen.", + "please-provide-the-required-information-for-creating-a-new-user-group": "Bitte gebe alle fĂŒr eine neue Gruppe notwendigen Informationen an.", + "please-provide-the-required-information-to-add-a-new-contact": "Bitte gebe alle nötigen Informationen an, im den neuen Kontakt zu erstellen.", + "please-provide-the-required-information-to-add-a-new-organization": "Bitte gebe alle nötigen Informationen an, im die neue Organisation zu erstellen.", + "please-provide-the-required-information-to-add-a-new-runner": "Bitte die benötigten Informationen angeben.", + "please-provide-the-required-information-to-add-a-new-team": "Bitte gebe alle nötigen Informationen an, im das neue Team zu erstellen.", + "please-provide-the-required-information-to-add-a-new-track": "Bitte die benötigten Informationen angeben.", + "please-provide-the-required-information-to-add-a-new-user": "Bitte gebe alle nötigen Informationen an, im die neue Benutzer:in zu erstellen.", + "please-provide-the-required-information-to-create-a-new-scanstation": "Bitte gebe alle fĂŒr eine Scannerstation notwendigen Informationen an", + "please-request-a-new-reset-mail": "Bitte eine neue Passwortreset-Mail anfordern...", + "privacy": "Datenschutz", + "privacy-loading": "DatenschutzerklĂ€rung lĂ€dt...", + "profile": "Profil", + "profile-picture": "Profilbild", + "profile-updated": "Profil wurde aktualisiert!", + "read-license": "Lizenz-Text lesen", + "receipt-needed": "Spendenquittung benötigt", + "repo_link": "Link", + "request-a-new-reset-mail": "Neue Reset-Mail anfordern", + "reset-my-password": "Passwort zurĂŒcksetzen", + "reset-password": "Passwort zurĂŒcksetzen", + "runner": "LĂ€ufer:in", + "runner-added": "LĂ€ufer:in hinzugefĂŒgt", + "runner-import": "LĂ€ufer:innen Import", + "runner-is-being-added": "LĂ€ufer:in wird hinzugefĂŒgt...", + "runner-updated": "LĂ€ufer:in aktualisiert!", + "runnerimport_verify_runners_org": "Bitte die LĂ€ufer:innen fĂŒr den Import in die Organisation \"{org_name}\" bestĂ€tigen", + "runners": "LĂ€ufer", + "runners-are-being-imported": "LĂ€ufer:innen werden importiert ...", + "runners-are-being-loaded": "LĂ€ufer:innen werden geladen ...", + "save": "Speichern", + "save-changes": "Änderungen speichern", + "scan-added": "Scan hinzugefĂŒgt", + "scan-is-being-updated": "Scan wird aktualisiert", + "scan-with-fixed-distance": "Scan mit Festdistanz", + "scans": "Scans", + "scans-are-being-loaded": "Scans werden geladen", + "scanstation": "Scanner Station", + "scanstation-added": "Station wurde erstellt", + "scanstation-is-being-added": "Scannerstation wird angelegt...", + "scanstations": "Scanner Stationen", + "scanstations-are-being-loaded": "Scannerstationen werden geladen...", + "search-for-an-organization-by-name-or-id": "Suche eine Organisation (via Name oder Id)", + "search-for-an-organization-or-team-by-name-or-id": "Suche eine Organisation oder ein Team (via Name oder Id)", + "search-for-donor-name-or-id": "Suche eine Spender:in (via Name oder Id)", + "search-for-permission": "Berechtigungen durchsuchen", + "search-for-runner-by-name-or-id": "Suche eine LĂ€ufer:in (via Name oder Id)", + "select-all": "Alle auswĂ€hlen", + "select-language": "Sprache auswĂ€hlen", + "selfservice-registration": "Selfservice Registrierung", + "send-a-mail-to-lfk-odit-services": "Sende eine Mail an lfk@odit.services", + "set-the-user-active-inactive": "Den Benutzer auf (in)aktiv setzen", + "settings": "Einstellungen", + "settings-for-your-profile": "Die Einstellungen deines Accounts", + "something-about-the-group": "Infos zur Gruppe", + "stats-are-being-loaded": "Die Statistiken werden geladen...", + "status": "Status", + "stuff-that-could-harm-your-profile": "Einstellungen, die deinem Profil nachhaltig schaden können", + "successful-password-reset": "Passwort erfolgreich zurĂŒckgesetzt!", + "team": "Team", + "team-detail-is-being-loaded": "Team wird geladen...", + "team-name": "Teamname", + "team-name-is-required": "Teamname ist erforderlich", + "teams": "Teams", + "teams-are-being-loaded": "Teams werden geladen ...", + "the-provided-phone-number-is-invalid-less-than-br-greater-than-please-enter-a-valid-international-number": "Die angegebene Telefonnummer ist nicht korrekt.
Bitte gebe eine Telefonnummer im internationalen Format an...", + "the-scans-distance-must-be-greater-than-0m": "Die Distanz muss grĂ¶ĂŸer als 0m sein.", + "the-scanstations-api-token-will-only-get-displayed-once-you-wont-be-able-to-change-or-view-it-again": "Der Scannerstation Token wird nur einmal angezeigt - du kannst ihn nicht Ă€ndern oder ihn dir nochmal anzeigen lassen!", + "there-are-no-cards-yet": "Es gibt noch keine LĂ€uferkarten.", + "there-are-no-contacts-added-yet": "Es wurden noch keine Kontakte hinzugefĂŒgt.", + "there-are-no-donations-yet": "Es gibt noch keine Sponsorings", + "there-are-no-donors-yet": "Es gibt noch keine Sponsor:innen", + "there-are-no-groups-yet": "Es gibt noch keine Gruppen", + "there-are-no-organizations-added-yet": "Es wurden noch keine Organisationen hinzugefĂŒgt.", + "there-are-no-runners-added-yet": "Es wurden noch keine LĂ€ufer:innen hinzugefĂŒgt.", + "there-are-no-scans-yet": "Es gibt noch keine Scans", + "there-are-no-teams-added-yet": "Es wurden noch keine Teams hinzugefĂŒgt.", + "there-are-no-users-added-yet": "Es wurden noch keine Benutzer hinzugefĂŒgt.", + "this-card-is": "Diese Karte ist", + "this-might-take-a-moment": "Das könnte einen kleinen Moment dauern", + "this-scanstation-is": "Diese Station ist", + "token": "Token", + "total-distance": "gelaufene Strecke", + "total-donation-amount": "Gesamtbetrag", + "total-donations": "Spendensumme", + "total-scans": "gesamte Scans", + "track": "Track", + "track-added": "Track hinzugefĂŒgt", + "track-data-is-being-loaded": "Trackdaten werden geladen", + "track-is-being-added": "Track wird hinzugefĂŒgt...", + "track-length-in-m": "TracklĂ€nge (in Metern)", + "track-length-must-be-greater-than-0": "Die LĂ€nge muss grĂ¶ĂŸer als 0 (Meter) sein", + "track-name": "Trackname", + "track-name-must-not-be-empty": "Der Name muss angegeben werden", + "tracks": "Tracks", + "update-password": "Passwort Ă€ndern", + "updated-contact": "Kontakt aktualisiert!", + "updated-donor": "Sponsor:in wurde aktualisiert", + "updated-organization": "Organisation wurde aktualisiert", + "updated-scan": "Scan wurde aktualisiert", + "updateing-group": "Gruppe wird aktualisiert...", + "updating-card": "Karte wird aktualisiert", + "updating-organization": "Organisation wird aktualisiert", + "updating-permissions": "Berechtigungen werden aktualisiert...", + "updating-runner": "LĂ€ufer:in wird aktualisiert.", + "updating-user": "Benutzer:in wird aktualisiert...", + "updating-your-profile": "Profil wird aktualisiert...", + "user-added": "Benutzer hinzugefĂŒgt", + "user-groups": "Benutzergruppen", + "user-is-being-added": "Benutzer wird hinzugefĂŒgt ...", + "user-updated": "Benutzer:in wurde aktualisiert", + "username": "Benutzername", + "users": "Benutzer", + "valid": "GĂŒltig", + "valid-city-is-required": "Du musst eine Stadt angeben", + "valid-email-is-required": "Es wird eine valide E-Mail Adresse benötigt", + "valid-international-phone-number-is-required": "Du musst eine Telefonnummer im internationalen Format angeben...", + "valid-zipcode-postal-code-is-required": "Du musst eine valide Postleitzahl angeben", + "verfuegbare": "VerfĂŒgbar", + "welcome_wavinghand": "Willkommen 👋", + "yes-i-copied-the-token": "Ja, ich habe den Token kopiert", + "you-are-going-to-loose-all-permissions-and-access-to-the-runner-system": "Du wirst all deine Berechtigungen und den Zugriff aufs LĂ€ufersystem verlieren!", + "you-can-now-use-your-new-password-to-log-in-to-your-account": "Du kannst dich jetzt mit deinem neuen Passwort anmelden! 🎉", + "you-can-provide-a-runner-but-you-dont-have-to": "Du kannst eine LĂ€ufer:in angeben, musst aber nicht.", + "you-dont-have-any-scanstations-yet": "Es gibt noch keine Scannerstationen", + "you-have-to-provide-an-organization": "Du musst eine Organisation angeben", + "you-have-to-save-your-changes-to-generate-a-link": "Du musst deine Änderungen speichern, um einen Link zu generieren.", + "you-must-create-at-least-one-card-or-cancel": "Du musst mindestens eine Blankokarte erstellen (oder abbrechen).", + "zip-postal-code": "Postleitzahl" +} \ No newline at end of file diff --git a/src/locales/en.json b/src/locales/en.json index d54e9d42..b86f6b7c 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -1,428 +1,428 @@ { - "404message": "Sorry, the page you are looking for could not be found.", - "404title": "Error 404", - "about": "About", - "action": "Action", - "active": "Active", - "add-card": "Add Card", - "add-donation": "Add donation", - "add-donor": "add donor", - "add-scan": "Add scan", - "add-the-first-scanstation": "Add your first scanstation.", - "add-user-group": "Add User Group", - "add-your-first-card": "Add your first card", - "add-your-first-contact": "Add your first contact", - "add-your-first-donor": "add your first donor", - "add-your-first-group": "Add your first group", - "add-your-first-organization": "Add your first organization", - "add-your-first-runner": "Add your first runner", - "add-your-first-team": "Add your first team", - "add-your-first-track": "Add your first track.", - "add-your-first-user": "Add your first user", - "add-your-fist-donation": "Add your fist donation", - "add-your-fist-scan": "Add your fist scan", - "adding-card": "Adding Card", - "adding-scan": "Adding Scan", - "address": "Address", - "address-is-required": "Address is required", - "after-deletion-we-cant-restore-your-old-profile": "After deletion we can't restore your old profile!", - "after-the-update-youll-get-logged-out-please-login-with-your-new-password-after-that": "After the update you'll get logged out - Please login with your new password after that.", - "all-associated-donations-will-get-deleted-as-well": "All associated donations will get deleted as well", - "all-associated-runners-will-be-deleted-too": "All associated runners will be deleted too!", - "all-associated-teams-and-runners-will-be-deleted-too": "All associated teams and runners will be deleted too!", - "amount": "Amount", - "amount-per-kilometer": "Amount per kilometer", - "apartment-suite-etc": "Apartment, suite, etc.", - "application_name": "Lauf fĂŒr Kaya! - Admin", - "applying-changes": "Applying Changes", - "attention": "Attention!", - "author": "Author", - "bitte-bestaetige-diese-laeufer-fuer-den-import": "Please confirm these runners for import.", - "by": "by", - "cancel": "Cancel", - "cancel-delete": "Cancel Delete", - "cancel-keep-donor": "Cancel, keep donor", - "cancel-keep-my-profile": "Cancel, keep my profile", - "cancel-keep-organization": "Cancel, keep organization", - "cancel-keep-team": "Cancel, keep team", - "cannot-reset-your-password-directly": "Bummer. We unfortunately cannot reset your password directly. Please send us a mail and confirm your identity", - "card-added": "Card added", - "card-deleted": "Card deleted", - "card-updated": "Card updated", - "cards": "Cards", - "change-your-password-here": "Change your password here", - "changing-your-password": "Changing your password", - "city": "City", - "click-to-copy-the-link-into-your-clipboard": "Click to copy the link into your clipboard", - "click-to-copy-token-to-clipboard": "Click to copy the token to your clipboard", - "close": "Close", - "code": "Code", - "configure-the-tracks-and-minimum-lap-times": "configure the tracks & minimum lap times", - "confirm": "Confirm", - "confirm-delete": "Confirm Delete", - "confirm-delete-donor-with-all-donations": "Confirm, delete donor with all donations", - "confirm-delete-my-user-profile": "Confirm, delete my user profile", - "confirm-delete-organization-and-associated-teams-runners": "Confirm, delete organization and associated teams+runners.", - "confirm-delete-team-and-associated-runners": "Confirm, delete team and associated runners.", - "confirm-deletion": "Confirm Deletion", - "confirm-the-new-password": "Confirm the new password", - "contact": "Contact", - "contact-deleted": "Contact deleted", - "contact-information": "Contact Information", - "contact-is-being-updated": "Contact is being updated...", - "contact-is-not-a-member-in-any-group": "Contact is not a member in any group", - "contacts": "Contacts", - "contacts-are-being-loaded": "contacts are being loaded...", - "copied-link-to-clipboard": "Copied link to clipboard", - "copied-token-to-clipboard": "Copied token to clipboard", - "count_organizations": "# Organizations", - "count_teams": "# Teams", - "create": "Create", - "create-a-new": "Create a new", - "create-a-new-card": "Create a new card", - "create-a-new-contact": "Create a new contact", - "create-a-new-distance-donation": "Create a new distance donation", - "create-a-new-donor": "Create a new donor", - "create-a-new-fixed-donation": "Create a new fixed donation", - "create-a-new-organization": "Create a new Organization", - "create-a-new-runner": "Create a new Runner", - "create-a-new-scan-fixed-only": "Create a new scan (fixed only)", - "create-a-new-scanstation": "Create a new station", - "create-a-new-team": "Create a new team", - "create-a-new-track": "Create a new Track", - "create-a-new-user": "Create a new User", - "create-a-new-user-group": "Create a new user group", - "create-bulk-blanco-cards": "Create bulk blanco cards", - "create-bulk-cards": "Add blanco cards", - "create-organization": "Create Organization", - "create-team": "Create Team", - "create-track": "Create Track", - "create-user": "Create User", - "created-blanco-cards": "Created blanco cards", - "creating-blanco-cards": "Creating blanco cards", - "credits": "Credits", - "csv_import__class": "Class", - "csv_import__firstname": "Firstname", - "csv_import__lastname": "Lastname", - "csv_import__middlename": "Middlename", - "csv_import__team": "Team", - "danger-zone": "Danger zone", - "dashboard-greeting": "Hello", - "dashboard-title": "Dashboard", - "datatable": { - "search": "🔍 Search...", - "sort_column_ascending": "Sort column ascending", - "sort_column_descending": "Sort column descending", - "previous": "Previous", - "next": "Next", - "page": "Page", - "showing": "Showing", - "records": "Records", - "of": "of", - "to": "to", - "loading": "Loading...", - "no_matching_records_found": "No matching records found", - "an_error_happened_while_fetching_the_data": "An error happened while fetching the data" - }, - "delete": "Delete", - "delete-contact": "Delete Contact", - "delete-donation": "Delete Donation", - "delete-donor": "Delete donor", - "delete-group": "Delete Group", - "delete-organization": "Delete Organization", - "delete-profile": "Delete Profile", - "delete-runner": "Delete Runner", - "delete-scan": "Delete scan", - "delete-station": "Delete station", - "delete-team": "Delete Team", - "delete-user": "Delete User", - "deleted-scan": "Deleted scan", - "dependency_name": "Name", - "description": "description", - "description-optional": "Description (optional)", - "deselect-all": "deselect all", - "details": "Details", - "disabled": "disabled", - "distance": "Distance", - "distance-donation": "distance donation", - "distance-in-km": "Distance in km", - "distance-track": "Distance (+Track)", - "do-you-really-want-to-delete-your-profile": "Do you really want to delete your profile?", - "do-you-want-to-delete-the-organization-delete_org-name": "Do you want to delete the organization {orgname}?", - "do-you-want-to-delete-the-team-delete_team-name": "Do you want to delete the team {teamname}?", - "do-you-want-to-delete-this-donor-with-all-related-donations": "Do you want to delete this donor with all related donations", - "documentation": "Documentation", - "donation-amount": "Donation amount", - "donation-amount-must-be-greater-that-0-00eur": "Donation amount must be greater that 0.00€", - "donations": "Donations", - "donor": "Donor", - "donor-added": "Donor added", - "donor-deleted": "donor deleted", - "donor-has-no-associated-donations": "Donor has no associated donations.", - "donor-is-being-added": "Donor is being added...", - "donor-is-being-updated": "Donor is being updated", - "donors": "Donors", - "donors-are-being-loaded": "donors are being loaded", - "dont-have-your-email-connected": "Don't have your email connected?", - "dont-panic-were-resetting-it": "Don't panic, we're resetting it ✌", - "e-mail-adress": "E-Mail Adress", - "edit": "Edit", - "edit-a-card": "Edit a card", - "edit-permissions": "edit permissions", - "email_address_or_username": "Email / username", - "enabled": "enabled", - "enabled_large": "Enabled", - "english": "English", - "error-during-import": "Error during import", - "error-whyile-copying-to-clipboard": "Error while copying to clipboard", - "error_on_login": "Error on login", - "erteilte": "Directly granted", - "everything-concerning-your-profile": "Everything concerning your profile", - "everything-is-more-fun-together": "everything is more fun together đŸƒâ€â™‚ïžđŸƒâ€â™€ïžđŸƒâ€â™‚ïž", - "faq": "FAQ", - "filter-by-organization-team": "Filter by Organization/ Team", - "first-name": "First name", - "first-name-is-required": "First Name is required", - "first-scan-of-the-day": "First scan of the day.", - "fixed-donation": "fixed donation", - "forgot_password": "Forgot your password?", - "geerbte": "inherited", - "general-stats": "General Stats", - "general_promise_error": "😱 Error", - "generate-runnercards": "Generate Runnercards", - "generate-sponsoring-contract": "generate sponsoring contract", - "generate-sponsoring-contracts": "generate sponsoring contracts", - "generating-pdf": "generating PDF...", - "generating-pdfs": "generating PDFs...", - "generic-ui-logic-error": "Something went wrong in the UI logic", - "german": "German", - "go-to-login": "Go To Login", - "goback": "Go Home", - "granted": "granted", - "group": "Group", - "group-added": "Group added", - "group-is-being-added": "Group is being added...", - "group-name-is-required": "Group name is required", - "group-updated": "group updated", - "groups": "Groups", - "groups-are-being-loaded": "Groups are being loaded", - "home": "Home", - "icon-image-credits": "We also want to thank these projects for illustrations and icons:", - "if-you-want-to-create-multiple-blanco-cards-try-the-add-bulk-button": "If you want to create multiple blanco cards: Try the 'Add blanco cards' button.", - "import-finished": "Import finished", - "import-runners": "Import runners", - "import__target-organization": "Target Organization", - "imprint": "Imprint", - "imprint-loading": "Imprint loading...", - "inactive": "Inactive", - "installed-version": "Installed version", - "internal-error": "Internal Error", - "invalid": "Invalid", - "invalid-mail-reset": "the provided email is invalid", - "just-enter-how-many-you-want-and-the-system-will-create-them": "Just enter how many you want and the system will create them", - "laeufer-hinzufuegen": "Add runner", - "laeufer-importieren": "LĂ€ufer importieren", - "laptime": "Laptime", - "last-name": "Last name", - "last-name-is-required": "Last Name is required", - "lfk-is-os": "The \"Lauf fĂŒr Kaya!\" Frontend is (like all other projects for the \"LfK!\" Also) an open source project.", - "license": "License", - "licenses-are-being-loaded": "Licenses are being loaded...", - "loading-cards": "Loading cards", - "loading-contact-details": "Loading contact details...", - "loading-donation-details": "Loading donation details", - "loading-donor-details": "Loading donor details", - "loading-group-detail": "Loading group detail...", - "loading-profile-data": "Loading profile data", - "loading-runners": "loading runners...", - "loading-station-details": "Loading station details", - "log_in": "Log in", - "log_in_to_your_account": "Log in to your account", - "login_is_checked": "Login is being checked...", - "logout": "Logout", - "mail-validation-in-progress": "mail validation in progress...", - "manage-admin-users": "manage admin users", - "middle-name": "Middle name", - "minimum-lap-time-in-s": "minimum lap time in s", - "minimum-lap-time-must-be-a-positive-number-or-0": "minimum lap time must be a positive number or 0", - "must-be-at-least-10-characters-long": "Must be at least 10 characters long!", - "must-contain-a-lowercase-letter": "Must contain a lowercase letter!", - "must-contain-a-number": "Must contain a number!", - "must-contain-a-uppercase-letter": "Must contain a uppercase letter!", - "name": "Name", - "name-is-required": "Name is required", - "new-password": "New password", - "no-contact-found": "No contacts found", - "no-contact-selected": "No contact selected", - "no-contact-specified": "no contact specified", - "no-donors-found": "No donors found", - "no-license-text-could-be-found": "No license text could be found 😱", - "no-organization-or-team-found": "No organization or team found", - "no-organization-specified": "no organization specified", - "no-organizations-found": "No organizations found", - "no-runners-found": "No runners found", - "no-tracks-added-yet": "there are no tracks added yet.", - "non-blanko": "Non/Blanko", - "organization": "Organization", - "organization-added": "Organization added", - "organization-deleted": "Organization deleted", - "organization-detail-is-being-loaded": "organization detail is being loaded...", - "organization-is-being-added": "Organization is being added...", - "organization-name-is-required": "Organization name is required", - "organizations": "Organizations", - "organizations-are-being-loaded": "organizations are being loaded...", - "orgs": "Organizations", - "oss_credit_description": "We use a lot of open source software on these projects, and would like to thank the following projects and contributors who help make open source great!", - "password": "Password", - "password-changed": "Password changed!", - "password-is-required": "Password is required", - "password-reset-failed": "Password reset failed!", - "password-reset-in-progress": "Password Reset in Progress...", - "password-reset-mail-sent": "Password reset mail was sent to \"{usersEmail}\".", - "password-reset-successful": "Password Reset successful!", - "passwords-dont-match": "Passwords don't match!", - "pdf-generation-failed": "PDF generation failed!", - "pdf-successfully-generated": "PDF successfully generated!", - "pdfs-successfully-generated": "PDFs successfully generated!", - "per-kilometer": "per Kilometer", - "permissions": "Permissions", - "permissions-updated": "Permissions updated!", - "phone": "Phone", - "please-copy-the-token-and-store-it-somewhere-save": "Please copy the token and store it somewhere safe.", - "please-provide-a-password": "Please provide a password...", - "please-provide-the-nessecary-information-to-add-a-new-donor": "Please provide the nessecary information to add a new donor", - "please-provide-the-nessecary-information-to-create-a-new-donation": "Please provide the nessecary information to create a new donation", - "please-provide-the-nessecary-information-to-create-a-new-scan": "Please provide the nessecary information to create a new scan.", - "please-provide-the-required-csv-xlsx-file": "Please provide the required csv/ xlsx file", - "please-provide-the-required-information-for-creating-a-new-user-group": "Please provide the required information for creating a new user group.", - "please-provide-the-required-information-to-add-a-new-contact": "Please provide the required information to add a new contact.", - "please-provide-the-required-information-to-add-a-new-organization": "Please provide the required information to add a new organization.", - "please-provide-the-required-information-to-add-a-new-runner": "Please provide the required information to add a new runner.", - "please-provide-the-required-information-to-add-a-new-team": "Please provide the required information to add a new team.", - "please-provide-the-required-information-to-add-a-new-track": "Please provide the required information to add a new track.", - "please-provide-the-required-information-to-add-a-new-user": "Please provide the required information to add a new user.", - "please-provide-the-required-information-to-create-a-new-scanstation": "Please provide the required information to create a new scanstation", - "please-request-a-new-reset-mail": "Please request a new reset mail...", - "privacy": "Privacy", - "privacy-loading": "Privacy loading...", - "profile": "Profile", - "profile-picture": "Profile Picture", - "profile-updated": "Profile updated!", - "read-license": "Read License", - "receipt-needed": "Receipt needed", - "repo_link": "Link", - "request-a-new-reset-mail": "Request a new reset mail", - "reset-my-password": "Reset my password", - "reset-password": "Reset your password", - "runner": "Runner", - "runner-added": "Runner added", - "runner-import": "Runner Import", - "runner-is-being-added": "Runner is being added...", - "runner-updated": "Runner updated!", - "runnerimport_verify_runners_org": "Please confirm these runners for import into the organization \"{org_name}\"", - "runners": "Runners", - "runners-are-being-imported": "Runners are being imported...", - "runners-are-being-loaded": "runners are being loaded...", - "save": "Save", - "save-changes": "Save Changes", - "scan-added": "Scan added", - "scan-is-being-updated": "Scan is being updated", - "scan-with-fixed-distance": "Scan with fixed distance", - "scans": "Scans", - "scans-are-being-loaded": "Scans are being loaded", - "scanstation": "Scanstation", - "scanstation-added": "Scanstation added", - "scanstation-is-being-added": "Adding scanstation...", - "scanstations": "Scanstations", - "scanstations-are-being-loaded": "Loading scanstations...", - "search-for-an-organization-by-name-or-id": "Search for an organization (by name or id)", - "search-for-an-organization-or-team-by-name-or-id": "Search for an organization or team (by name or id)", - "search-for-donor-name-or-id": "Search for donor (by name or id)", - "search-for-permission": "Search for permission", - "search-for-runner-by-name-or-id": "Search for runner (by name or id)", - "select-all": "select all", - "select-language": "Select language", - "selfservice-registration": "Selfservice registration", - "send-a-mail-to-lfk-odit-services": "send a mail to lfk@odit.services", - "set-the-user-active-inactive": "set the user active/ inactive", - "settings": "Settings", - "settings-for-your-profile": "Settings for your profile", - "something-about-the-group": "Something about the group...", - "stats-are-being-loaded": "stats are being loaded...", - "status": "Status", - "stuff-that-could-harm-your-profile": "Stuff that could harm your profile", - "successful-password-reset": "Successful password reset!", - "team": "Team", - "team-detail-is-being-loaded": "team detail is being loaded...", - "team-name": "Team name", - "team-name-is-required": "team name is required", - "teams": "Teams", - "teams-are-being-loaded": "teams are being loaded...", - "the-provided-phone-number-is-invalid-less-than-br-greater-than-please-enter-a-valid-international-number": "the provided phone number is invalid.
please enter a valid international number...", - "the-scans-distance-must-be-greater-than-0m": "The scan's distance must be greater than 0m", - "the-scanstations-api-token-will-only-get-displayed-once-you-wont-be-able-to-change-or-view-it-again": "The scanstation api token will only get displayed once - you won't be able to change or view it again!", - "there-are-no-cards-yet": "There are no cards yet.", - "there-are-no-contacts-added-yet": "There are no contacts added yet.", - "there-are-no-donations-yet": "There are no donations yet", - "there-are-no-donors-yet": "There are no donors yet", - "there-are-no-groups-yet": "There are no groups yet", - "there-are-no-organizations-added-yet": "There are no organizations added yet.", - "there-are-no-runners-added-yet": "There are no runners added yet.", - "there-are-no-scans-yet": "There are no scans yet", - "there-are-no-teams-added-yet": "There are no teams added yet.", - "there-are-no-users-added-yet": "There are no users added yet.", - "this-card-is": "This card is", - "this-might-take-a-moment": "This might take a moment 👀", - "this-scanstation-is": "This scanstation is", - "token": "Token", - "total-distance": "total distance", - "total-donation-amount": "total donation amount", - "total-donations": "total donations", - "total-scans": "total scans", - "track": "Track", - "track-added": "Track added", - "track-data-is-being-loaded": "Track data is being loaded", - "track-is-being-added": "Track is being added...", - "track-length-in-m": "Track Length in m", - "track-length-must-be-greater-than-0": "Track length must be greater than 0", - "track-name": "Track name", - "track-name-must-not-be-empty": "Track name must not be empty", - "tracks": "Tracks", - "update-card": "Update Card", - "update-password": "Update password", - "updated-contact": "Updated contact!", - "updated-donor": "updated donor", - "updated-organization": "updated organization", - "updated-scan": "updated scan", - "updateing-group": "updateing group...", - "updating-card": "Updating card", - "updating-organization": "updating organization", - "updating-permissions": "updating permissions...", - "updating-runner": "Updating runner...", - "updating-user": "updating user...", - "updating-your-profile": "Updating your profile...", - "user-added": "User added", - "user-groups": "User Groups", - "user-is-being-added": "User is being added...", - "user-updated": "User updated", - "username": "Username", - "users": "Users", - "valid": "Valid", - "valid-city-is-required": "Valid city is required", - "valid-email-is-required": "valid email is required", - "valid-international-phone-number-is-required": "valid international phone number is required...", - "valid-zipcode-postal-code-is-required": "Valid zipcode/ postal code is required", - "verfuegbare": "availdable", - "welcome_wavinghand": "Welcome 👋", - "yes-i-copied-the-token": "Yes, I copied the token", - "you-are-going-to-loose-all-permissions-and-access-to-the-runner-system": "You are going to loose all permissions and access to the runner system!", - "you-can-now-use-your-new-password-to-log-in-to-your-account": "You can now use your new password to log in to your account! 🎉", - "you-can-provide-a-runner-but-you-dont-have-to": "You can provide a runner, but you don't have to.", - "you-dont-have-any-scanstations-yet": "You don't have any scanstations yet", - "you-have-to-provide-an-organization": "You have to provide an organization", - "you-have-to-save-your-changes-to-generate-a-link": "You have to save your changes to generate a link.", - "you-must-create-at-least-one-card-or-cancel": "You must create at least one card (or cancel).", - "zip-postal-code": "ZIP/ postal code", - "create-and-generate-pdf": "Create and generate PDF", - "create-without-pdf": "Create without PDF" -} + "404message": "Sorry, the page you are looking for could not be found.", + "404title": "Error 404", + "about": "About", + "action": "Action", + "active": "Active", + "add-card": "Add Card", + "add-donation": "Add donation", + "add-donor": "add donor", + "add-scan": "Add scan", + "add-the-first-scanstation": "Add your first scanstation.", + "add-user-group": "Add User Group", + "add-your-first-card": "Add your first card", + "add-your-first-contact": "Add your first contact", + "add-your-first-donor": "add your first donor", + "add-your-first-group": "Add your first group", + "add-your-first-organization": "Add your first organization", + "add-your-first-runner": "Add your first runner", + "add-your-first-team": "Add your first team", + "add-your-first-track": "Add your first track.", + "add-your-first-user": "Add your first user", + "add-your-fist-donation": "Add your fist donation", + "add-your-fist-scan": "Add your fist scan", + "adding-card": "Adding Card", + "adding-scan": "Adding Scan", + "address": "Address", + "address-is-required": "Address is required", + "after-deletion-we-cant-restore-your-old-profile": "After deletion we can't restore your old profile!", + "after-the-update-youll-get-logged-out-please-login-with-your-new-password-after-that": "After the update you'll get logged out - Please login with your new password after that.", + "all-associated-donations-will-get-deleted-as-well": "All associated donations will get deleted as well", + "all-associated-runners-will-be-deleted-too": "All associated runners will be deleted too!", + "all-associated-teams-and-runners-will-be-deleted-too": "All associated teams and runners will be deleted too!", + "amount": "Amount", + "amount-per-kilometer": "Amount per kilometer", + "apartment-suite-etc": "Apartment, suite, etc.", + "application_name": "Lauf fĂŒr Kaya! - Admin", + "applying-changes": "Applying Changes", + "attention": "Attention!", + "author": "Author", + "bitte-bestaetige-diese-laeufer-fuer-den-import": "Please confirm these runners for import.", + "by": "by", + "cancel": "Cancel", + "cancel-delete": "Cancel Delete", + "cancel-keep-donor": "Cancel, keep donor", + "cancel-keep-my-profile": "Cancel, keep my profile", + "cancel-keep-organization": "Cancel, keep organization", + "cancel-keep-team": "Cancel, keep team", + "cannot-reset-your-password-directly": "Bummer. We unfortunately cannot reset your password directly. Please send us a mail and confirm your identity", + "card-added": "Card added", + "card-deleted": "Card deleted", + "card-updated": "Card updated", + "cards": "Cards", + "change-your-password-here": "Change your password here", + "changing-your-password": "Changing your password", + "city": "City", + "click-to-copy-the-link-into-your-clipboard": "Click to copy the link into your clipboard", + "click-to-copy-token-to-clipboard": "Click to copy the token to your clipboard", + "close": "Close", + "code": "Code", + "configure-the-tracks-and-minimum-lap-times": "configure the tracks & minimum lap times", + "confirm": "Confirm", + "confirm-delete": "Confirm Delete", + "confirm-delete-donor-with-all-donations": "Confirm, delete donor with all donations", + "confirm-delete-my-user-profile": "Confirm, delete my user profile", + "confirm-delete-organization-and-associated-teams-runners": "Confirm, delete organization and associated teams+runners.", + "confirm-delete-team-and-associated-runners": "Confirm, delete team and associated runners.", + "confirm-deletion": "Confirm Deletion", + "confirm-the-new-password": "Confirm the new password", + "contact": "Contact", + "contact-deleted": "Contact deleted", + "contact-information": "Contact Information", + "contact-is-being-updated": "Contact is being updated...", + "contact-is-not-a-member-in-any-group": "Contact is not a member in any group", + "contacts": "Contacts", + "contacts-are-being-loaded": "contacts are being loaded...", + "copied-link-to-clipboard": "Copied link to clipboard", + "copied-token-to-clipboard": "Copied token to clipboard", + "count_organizations": "# Organizations", + "count_teams": "# Teams", + "create": "Create", + "create-a-new": "Create a new", + "create-a-new-card": "Create a new card", + "create-a-new-contact": "Create a new contact", + "create-a-new-distance-donation": "Create a new distance donation", + "create-a-new-donor": "Create a new donor", + "create-a-new-fixed-donation": "Create a new fixed donation", + "create-a-new-organization": "Create a new Organization", + "create-a-new-runner": "Create a new Runner", + "create-a-new-scan-fixed-only": "Create a new scan (fixed only)", + "create-a-new-scanstation": "Create a new station", + "create-a-new-team": "Create a new team", + "create-a-new-track": "Create a new Track", + "create-a-new-user": "Create a new User", + "create-a-new-user-group": "Create a new user group", + "create-and-generate-pdf": "Create and generate PDF", + "create-bulk-blanco-cards": "Create bulk blanco cards", + "create-bulk-cards": "Add blanco cards", + "create-organization": "Create Organization", + "create-team": "Create Team", + "create-track": "Create Track", + "create-user": "Create User", + "create-without-pdf": "Create without PDF", + "created-blanco-cards": "Created blanco cards", + "creating-blanco-cards": "Creating blanco cards", + "credits": "Credits", + "csv_import__class": "Class", + "csv_import__firstname": "Firstname", + "csv_import__lastname": "Lastname", + "csv_import__middlename": "Middlename", + "csv_import__team": "Team", + "danger-zone": "Danger zone", + "dashboard-greeting": "Hello", + "dashboard-title": "Dashboard", + "datatable": { + "search": "🔍 Search...", + "sort_column_ascending": "Sort column ascending", + "sort_column_descending": "Sort column descending", + "previous": "Previous", + "next": "Next", + "page": "Page", + "showing": "Showing", + "records": "Records", + "of": "of", + "to": "to", + "loading": "Loading...", + "no_matching_records_found": "No matching records found", + "an_error_happened_while_fetching_the_data": "An error happened while fetching the data" + }, + "delete": "Delete", + "delete-contact": "Delete Contact", + "delete-donation": "Delete Donation", + "delete-donor": "Delete donor", + "delete-group": "Delete Group", + "delete-organization": "Delete Organization", + "delete-profile": "Delete Profile", + "delete-runner": "Delete Runner", + "delete-scan": "Delete scan", + "delete-station": "Delete station", + "delete-team": "Delete Team", + "delete-user": "Delete User", + "deleted-scan": "Deleted scan", + "dependency_name": "Name", + "description": "description", + "description-optional": "Description (optional)", + "deselect-all": "deselect all", + "details": "Details", + "disabled": "disabled", + "distance": "Distance", + "distance-donation": "distance donation", + "distance-in-km": "Distance in km", + "distance-track": "Distance (+Track)", + "do-you-really-want-to-delete-your-profile": "Do you really want to delete your profile?", + "do-you-want-to-delete-the-organization-delete_org-name": "Do you want to delete the organization {orgname}?", + "do-you-want-to-delete-the-team-delete_team-name": "Do you want to delete the team {teamname}?", + "do-you-want-to-delete-this-donor-with-all-related-donations": "Do you want to delete this donor with all related donations", + "documentation": "Documentation", + "donation-amount": "Donation amount", + "donation-amount-must-be-greater-that-0-00eur": "Donation amount must be greater that 0.00€", + "donations": "Donations", + "donor": "Donor", + "donor-added": "Donor added", + "donor-deleted": "donor deleted", + "donor-has-no-associated-donations": "Donor has no associated donations.", + "donor-is-being-added": "Donor is being added...", + "donor-is-being-updated": "Donor is being updated", + "donors": "Donors", + "donors-are-being-loaded": "donors are being loaded", + "dont-have-your-email-connected": "Don't have your email connected?", + "dont-panic-were-resetting-it": "Don't panic, we're resetting it ✌", + "e-mail-adress": "E-Mail Adress", + "edit": "Edit", + "edit-a-card": "Edit a card", + "edit-permissions": "edit permissions", + "email_address_or_username": "Email / username", + "enabled": "enabled", + "enabled_large": "Enabled", + "english": "English", + "error-during-import": "Error during import", + "error-whyile-copying-to-clipboard": "Error while copying to clipboard", + "error_on_login": "Error on login", + "erteilte": "Directly granted", + "everything-concerning-your-profile": "Everything concerning your profile", + "everything-is-more-fun-together": "everything is more fun together đŸƒâ€â™‚ïžđŸƒâ€â™€ïžđŸƒâ€â™‚ïž", + "faq": "FAQ", + "filter-by-organization-team": "Filter by Organization/ Team", + "first-name": "First name", + "first-name-is-required": "First Name is required", + "first-scan-of-the-day": "First scan of the day.", + "fixed-donation": "fixed donation", + "forgot_password": "Forgot your password?", + "geerbte": "inherited", + "general-stats": "General Stats", + "general_promise_error": "😱 Error", + "generate-runnercards": "Generate Runnercards", + "generate-sponsoring-contract": "generate sponsoring contract", + "generate-sponsoring-contracts": "generate sponsoring contracts", + "generating-pdf": "generating PDF...", + "generating-pdfs": "generating PDFs...", + "generic-ui-logic-error": "Something went wrong in the UI logic", + "german": "German", + "go-to-login": "Go To Login", + "goback": "Go Home", + "granted": "granted", + "group": "Group", + "group-added": "Group added", + "group-is-being-added": "Group is being added...", + "group-name-is-required": "Group name is required", + "group-updated": "group updated", + "groups": "Groups", + "groups-are-being-loaded": "Groups are being loaded", + "home": "Home", + "icon-image-credits": "We also want to thank these projects for illustrations and icons:", + "if-you-want-to-create-multiple-blanco-cards-try-the-add-bulk-button": "If you want to create multiple blanco cards: Try the 'Add blanco cards' button.", + "import-finished": "Import finished", + "import-runners": "Import runners", + "import__target-organization": "Target Organization", + "imprint": "Imprint", + "imprint-loading": "Imprint loading...", + "inactive": "Inactive", + "installed-version": "Installed version", + "internal-error": "Internal Error", + "invalid": "Invalid", + "invalid-mail-reset": "the provided email is invalid", + "just-enter-how-many-you-want-and-the-system-will-create-them": "Just enter how many you want and the system will create them", + "laeufer-hinzufuegen": "Add runner", + "laeufer-importieren": "LĂ€ufer importieren", + "laptime": "Laptime", + "last-name": "Last name", + "last-name-is-required": "Last Name is required", + "lfk-is-os": "The \"Lauf fĂŒr Kaya!\" Frontend is (like all other projects for the \"LfK!\" Also) an open source project.", + "license": "License", + "licenses-are-being-loaded": "Licenses are being loaded...", + "loading-cards": "Loading cards", + "loading-contact-details": "Loading contact details...", + "loading-donation-details": "Loading donation details", + "loading-donor-details": "Loading donor details", + "loading-group-detail": "Loading group detail...", + "loading-profile-data": "Loading profile data", + "loading-runners": "loading runners...", + "loading-station-details": "Loading station details", + "log_in": "Log in", + "log_in_to_your_account": "Log in to your account", + "login_is_checked": "Login is being checked...", + "logout": "Logout", + "mail-validation-in-progress": "mail validation in progress...", + "manage-admin-users": "manage admin users", + "middle-name": "Middle name", + "minimum-lap-time-in-s": "minimum lap time in s", + "minimum-lap-time-must-be-a-positive-number-or-0": "minimum lap time must be a positive number or 0", + "must-be-at-least-10-characters-long": "Must be at least 10 characters long!", + "must-contain-a-lowercase-letter": "Must contain a lowercase letter!", + "must-contain-a-number": "Must contain a number!", + "must-contain-a-uppercase-letter": "Must contain a uppercase letter!", + "name": "Name", + "name-is-required": "Name is required", + "new-password": "New password", + "no-contact-found": "No contacts found", + "no-contact-selected": "No contact selected", + "no-contact-specified": "no contact specified", + "no-donors-found": "No donors found", + "no-license-text-could-be-found": "No license text could be found 😱", + "no-organization-or-team-found": "No organization or team found", + "no-organization-specified": "no organization specified", + "no-organizations-found": "No organizations found", + "no-runners-found": "No runners found", + "no-tracks-added-yet": "there are no tracks added yet.", + "non-blanko": "Non/Blanko", + "organization": "Organization", + "organization-added": "Organization added", + "organization-deleted": "Organization deleted", + "organization-detail-is-being-loaded": "organization detail is being loaded...", + "organization-is-being-added": "Organization is being added...", + "organization-name-is-required": "Organization name is required", + "organizations": "Organizations", + "organizations-are-being-loaded": "organizations are being loaded...", + "orgs": "Organizations", + "oss_credit_description": "We use a lot of open source software on these projects, and would like to thank the following projects and contributors who help make open source great!", + "password": "Password", + "password-changed": "Password changed!", + "password-is-required": "Password is required", + "password-reset-failed": "Password reset failed!", + "password-reset-in-progress": "Password Reset in Progress...", + "password-reset-mail-sent": "Password reset mail was sent to \"{usersEmail}\".", + "password-reset-successful": "Password Reset successful!", + "passwords-dont-match": "Passwords don't match!", + "pdf-generation-failed": "PDF generation failed!", + "pdf-successfully-generated": "PDF successfully generated!", + "pdfs-successfully-generated": "PDFs successfully generated!", + "per-kilometer": "per Kilometer", + "permissions": "Permissions", + "permissions-updated": "Permissions updated!", + "phone": "Phone", + "please-copy-the-token-and-store-it-somewhere-save": "Please copy the token and store it somewhere safe.", + "please-provide-a-password": "Please provide a password...", + "please-provide-the-nessecary-information-to-add-a-new-donor": "Please provide the nessecary information to add a new donor", + "please-provide-the-nessecary-information-to-create-a-new-donation": "Please provide the nessecary information to create a new donation", + "please-provide-the-nessecary-information-to-create-a-new-scan": "Please provide the nessecary information to create a new scan.", + "please-provide-the-required-csv-xlsx-file": "Please provide the required csv/ xlsx file", + "please-provide-the-required-information-for-creating-a-new-user-group": "Please provide the required information for creating a new user group.", + "please-provide-the-required-information-to-add-a-new-contact": "Please provide the required information to add a new contact.", + "please-provide-the-required-information-to-add-a-new-organization": "Please provide the required information to add a new organization.", + "please-provide-the-required-information-to-add-a-new-runner": "Please provide the required information to add a new runner.", + "please-provide-the-required-information-to-add-a-new-team": "Please provide the required information to add a new team.", + "please-provide-the-required-information-to-add-a-new-track": "Please provide the required information to add a new track.", + "please-provide-the-required-information-to-add-a-new-user": "Please provide the required information to add a new user.", + "please-provide-the-required-information-to-create-a-new-scanstation": "Please provide the required information to create a new scanstation", + "please-request-a-new-reset-mail": "Please request a new reset mail...", + "privacy": "Privacy", + "privacy-loading": "Privacy loading...", + "profile": "Profile", + "profile-picture": "Profile Picture", + "profile-updated": "Profile updated!", + "read-license": "Read License", + "receipt-needed": "Receipt needed", + "repo_link": "Link", + "request-a-new-reset-mail": "Request a new reset mail", + "reset-my-password": "Reset my password", + "reset-password": "Reset your password", + "runner": "Runner", + "runner-added": "Runner added", + "runner-import": "Runner Import", + "runner-is-being-added": "Runner is being added...", + "runner-updated": "Runner updated!", + "runnerimport_verify_runners_org": "Please confirm these runners for import into the organization \"{org_name}\"", + "runners": "Runners", + "runners-are-being-imported": "Runners are being imported...", + "runners-are-being-loaded": "runners are being loaded...", + "save": "Save", + "save-changes": "Save Changes", + "scan-added": "Scan added", + "scan-is-being-updated": "Scan is being updated", + "scan-with-fixed-distance": "Scan with fixed distance", + "scans": "Scans", + "scans-are-being-loaded": "Scans are being loaded", + "scanstation": "Scanstation", + "scanstation-added": "Scanstation added", + "scanstation-is-being-added": "Adding scanstation...", + "scanstations": "Scanstations", + "scanstations-are-being-loaded": "Loading scanstations...", + "search-for-an-organization-by-name-or-id": "Search for an organization (by name or id)", + "search-for-an-organization-or-team-by-name-or-id": "Search for an organization or team (by name or id)", + "search-for-donor-name-or-id": "Search for donor (by name or id)", + "search-for-permission": "Search for permission", + "search-for-runner-by-name-or-id": "Search for runner (by name or id)", + "select-all": "select all", + "select-language": "Select language", + "selfservice-registration": "Selfservice registration", + "send-a-mail-to-lfk-odit-services": "send a mail to lfk@odit.services", + "set-the-user-active-inactive": "set the user active/ inactive", + "settings": "Settings", + "settings-for-your-profile": "Settings for your profile", + "something-about-the-group": "Something about the group...", + "stats-are-being-loaded": "stats are being loaded...", + "status": "Status", + "stuff-that-could-harm-your-profile": "Stuff that could harm your profile", + "successful-password-reset": "Successful password reset!", + "team": "Team", + "team-detail-is-being-loaded": "team detail is being loaded...", + "team-name": "Team name", + "team-name-is-required": "team name is required", + "teams": "Teams", + "teams-are-being-loaded": "teams are being loaded...", + "the-provided-phone-number-is-invalid-less-than-br-greater-than-please-enter-a-valid-international-number": "the provided phone number is invalid.
please enter a valid international number...", + "the-scans-distance-must-be-greater-than-0m": "The scan's distance must be greater than 0m", + "the-scanstations-api-token-will-only-get-displayed-once-you-wont-be-able-to-change-or-view-it-again": "The scanstation api token will only get displayed once - you won't be able to change or view it again!", + "there-are-no-cards-yet": "There are no cards yet.", + "there-are-no-contacts-added-yet": "There are no contacts added yet.", + "there-are-no-donations-yet": "There are no donations yet", + "there-are-no-donors-yet": "There are no donors yet", + "there-are-no-groups-yet": "There are no groups yet", + "there-are-no-organizations-added-yet": "There are no organizations added yet.", + "there-are-no-runners-added-yet": "There are no runners added yet.", + "there-are-no-scans-yet": "There are no scans yet", + "there-are-no-teams-added-yet": "There are no teams added yet.", + "there-are-no-users-added-yet": "There are no users added yet.", + "this-card-is": "This card is", + "this-might-take-a-moment": "This might take a moment 👀", + "this-scanstation-is": "This scanstation is", + "token": "Token", + "total-distance": "total distance", + "total-donation-amount": "total donation amount", + "total-donations": "total donations", + "total-scans": "total scans", + "track": "Track", + "track-added": "Track added", + "track-data-is-being-loaded": "Track data is being loaded", + "track-is-being-added": "Track is being added...", + "track-length-in-m": "Track Length in m", + "track-length-must-be-greater-than-0": "Track length must be greater than 0", + "track-name": "Track name", + "track-name-must-not-be-empty": "Track name must not be empty", + "tracks": "Tracks", + "update-card": "Update Card", + "update-password": "Update password", + "updated-contact": "Updated contact!", + "updated-donor": "updated donor", + "updated-organization": "updated organization", + "updated-scan": "updated scan", + "updateing-group": "updateing group...", + "updating-card": "Updating card", + "updating-organization": "updating organization", + "updating-permissions": "updating permissions...", + "updating-runner": "Updating runner...", + "updating-user": "updating user...", + "updating-your-profile": "Updating your profile...", + "user-added": "User added", + "user-groups": "User Groups", + "user-is-being-added": "User is being added...", + "user-updated": "User updated", + "username": "Username", + "users": "Users", + "valid": "Valid", + "valid-city-is-required": "Valid city is required", + "valid-email-is-required": "valid email is required", + "valid-international-phone-number-is-required": "valid international phone number is required...", + "valid-zipcode-postal-code-is-required": "Valid zipcode/ postal code is required", + "verfuegbare": "availdable", + "welcome_wavinghand": "Welcome 👋", + "yes-i-copied-the-token": "Yes, I copied the token", + "you-are-going-to-loose-all-permissions-and-access-to-the-runner-system": "You are going to loose all permissions and access to the runner system!", + "you-can-now-use-your-new-password-to-log-in-to-your-account": "You can now use your new password to log in to your account! 🎉", + "you-can-provide-a-runner-but-you-dont-have-to": "You can provide a runner, but you don't have to.", + "you-dont-have-any-scanstations-yet": "You don't have any scanstations yet", + "you-have-to-provide-an-organization": "You have to provide an organization", + "you-have-to-save-your-changes-to-generate-a-link": "You have to save your changes to generate a link.", + "you-must-create-at-least-one-card-or-cancel": "You must create at least one card (or cancel).", + "zip-postal-code": "ZIP/ postal code" +} \ No newline at end of file From f8ccf4f5d8f68ecee31430029889b8ab1ecec682 Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Tue, 30 Mar 2021 18:28:53 +0200 Subject: [PATCH 93/94] =?UTF-8?q?=F0=9F=9A=80RELEASE=20v0.11.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 16 ++++++++++++++++ index.template.html | 2 +- package.json | 2 +- 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2c818570..0bd10a4e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,12 +2,28 @@ All notable changes to this project will be documented in this file. Dates are displayed in UTC. +#### [0.11.0](https://git.odit.services/lfk/frontend/compare/0.10.0...0.11.0) + +- Merge pull request 'Generate and print bulk blank cards feature/116-download_blanc_cards' (#117) from feature/116-download_blanc_cards into dev [`25d8b86`](https://git.odit.services/lfk/frontend/commit/25d8b86efd89c442d1bf308a8743134820acfd1f) +- Added button (including translations [`0614c76`](https://git.odit.services/lfk/frontend/commit/0614c76e924b18b512bab59933a26fec07cf483d) +- Added button (including translations [`97e338f`](https://git.odit.services/lfk/frontend/commit/97e338f9d4f388596d550990457254c7fa1a3492) +- Sorted translations [`89bb9c2`](https://git.odit.services/lfk/frontend/commit/89bb9c215e356e0940678f5cabd9e38bc203040e) +- Added function for generating cards with pdf [`c8d6390`](https://git.odit.services/lfk/frontend/commit/c8d639024a5f2f72d6e30d2ce990b08bd71a5471) +- Fixed button styling [`08cb079`](https://git.odit.services/lfk/frontend/commit/08cb079e9798392e26515d559af2637e74deea97) +- Now returning cards on creation with pdf [`1d999d4`](https://git.odit.services/lfk/frontend/commit/1d999d4910acb5efa21b3f9922cdb359babff404) +- Added comment [`636f018`](https://git.odit.services/lfk/frontend/commit/636f018daa33b99468a257bfc33477e1e644d081) +- Bumped lfk client js version [`2d18686`](https://git.odit.services/lfk/frontend/commit/2d18686ce782a434ca7bd34c07c36a35b9497273) +- Bumped lfk-client-js [`7dfaa75`](https://git.odit.services/lfk/frontend/commit/7dfaa7579a22b13194fcdd1c02b4437958261472) + #### [0.10.0](https://git.odit.services/lfk/frontend/compare/0.9.1...0.10.0) +> 26 March 2021 + - Added translations [`79c447b`](https://git.odit.services/lfk/frontend/commit/79c447b4c65e55ebb5af71fb0b09174c36e2cecf) - Sorted translations 🌍 [`5bd3a46`](https://git.odit.services/lfk/frontend/commit/5bd3a463f00abaf2c98ab554f88e5542d01f364a) - Reset can now only be triggered if pw is strong enoug [`75d8f73`](https://git.odit.services/lfk/frontend/commit/75d8f7331b6ae78f3979bb62148188a16f83cb8d) - Module now exports functions that check if a password is strong enough and equal to a potential confirmation field [`b2509e9`](https://git.odit.services/lfk/frontend/commit/b2509e9e53ab6b51dfd55e26712e8928160cd64b) +- 🚀RELEASE v0.10.0 [`f7fc196`](https://git.odit.services/lfk/frontend/commit/f7fc1967a50f302af1d8b668628be2f4ab2975a3) - Added more cirteria to the password strength component [`5fa9939`](https://git.odit.services/lfk/frontend/commit/5fa9939696a35d60d762feb0cebef61d31869218) - Now using pw strength component [`6aaf838`](https://git.odit.services/lfk/frontend/commit/6aaf8384512185a3a319ce6b3e2505e910468e64) - Added a password strength verification [`ad3bd31`](https://git.odit.services/lfk/frontend/commit/ad3bd312e9a5785f81029ea2b7e302ea1addd988) diff --git a/index.template.html b/index.template.html index da96baec..05c7cf26 100644 --- a/index.template.html +++ b/index.template.html @@ -14,7 +14,7 @@ - + diff --git a/package.json b/package.json index 2c695d0c..2334b14d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@odit/lfk-frontend", - "version": "0.10.0", + "version": "0.11.0", "scripts": { "i18n-order": "node order.js", "dev:all": "yarn prebuild && snowpack dev", From 8f8b9988ad94ee9f3729a3fe6fdb4c558828d892 Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Tue, 30 Mar 2021 16:29:19 +0000 Subject: [PATCH 94/94] new license file version [CI SKIP] --- public/licenses.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/licenses.json b/public/licenses.json index f3e8b9bd..f78ee72c 100644 --- a/public/licenses.json +++ b/public/licenses.json @@ -1 +1 @@ -[{"author":"ODIT.Services","repo":{"type":"git","url":"git+https://git.odit.services/lfk/lfk-client-js"},"description":"A lib to interact with https://git.odit.services/lfk/backend. Use this version for native JS applications.","name":"@odit/lfk-client-js","license":"CC-BY-NC-SA-4.0","version":"0.8.0","licensetext":"Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Creative\r\nCommons Corporation (\"Creative Commons\") is not a law firm and does not provide\r\nlegal services or legal advice. Distribution of Creative Commons public licenses\r\ndoes not create a lawyer-client or other relationship. Creative Commons makes\r\nits licenses and related information available on an \"as-is\" basis. Creative\r\nCommons gives no warranties regarding its licenses, any material licensed\r\nunder their terms and conditions, or any related information. Creative Commons\r\ndisclaims all liability for damages resulting from their use to the fullest\r\nextent possible.\r\n\r\nUsing Creative Commons Public Licenses\r\n\r\nCreative Commons public licenses provide a standard set of terms and conditions\r\nthat creators and other rights holders may use to share original works of\r\nauthorship and other material subject to copyright and certain other rights\r\nspecified in the public license below. The following considerations are for\r\ninformational purposes only, are not exhaustive, and do not form part of our\r\nlicenses.\r\n\r\nConsiderations for licensors: Our public licenses are intended for use by\r\nthose authorized to give the public permission to use material in ways otherwise\r\nrestricted by copyright and certain other rights. Our licenses are irrevocable.\r\nLicensors should read and understand the terms and conditions of the license\r\nthey choose before applying it. Licensors should also secure all rights necessary\r\nbefore applying our licenses so that the public can reuse the material as\r\nexpected. Licensors should clearly mark any material not subject to the license.\r\nThis includes other CC-licensed material, or material used under an exception\r\nor limitation to copyright. More considerations for licensors : wiki.creativecommons.org/Considerations_for_licensors\r\n\r\nConsiderations for the public: By using one of our public licenses, a licensor\r\ngrants the public permission to use the licensed material under specified\r\nterms and conditions. If the licensor's permission is not necessary for any\r\nreason–for example, because of any applicable exception or limitation to copyright–then\r\nthat use is not regulated by the license. Our licenses grant only permissions\r\nunder copyright and certain other rights that a licensor has authority to\r\ngrant. Use of the licensed material may still be restricted for other reasons,\r\nincluding because others have copyright or other rights in the material. A\r\nlicensor may make special requests, such as asking that all changes be marked\r\nor described. Although not required by our licenses, you are encouraged to\r\nrespect those requests where reasonable. More considerations for the public\r\n: wiki.creativecommons.org/Considerations_for_licensees\r\n\r\nCreative Commons Attribution-NonCommercial-ShareAlike 4.0 International Public\r\nLicense\r\n\r\nBy exercising the Licensed Rights (defined below), You accept and agree to\r\nbe bound by the terms and conditions of this Creative Commons Attribution-NonCommercial-ShareAlike\r\n4.0 International Public License (\"Public License\"). To the extent this Public\r\nLicense may be interpreted as a contract, You are granted the Licensed Rights\r\nin consideration of Your acceptance of these terms and conditions, and the\r\nLicensor grants You such rights in consideration of benefits the Licensor\r\nreceives from making the Licensed Material available under these terms and\r\nconditions.\r\n\r\nSection 1 – Definitions.\r\n\r\na. Adapted Material means material subject to Copyright and Similar Rights\r\nthat is derived from or based upon the Licensed Material and in which the\r\nLicensed Material is translated, altered, arranged, transformed, or otherwise\r\nmodified in a manner requiring permission under the Copyright and Similar\r\nRights held by the Licensor. For purposes of this Public License, where the\r\nLicensed Material is a musical work, performance, or sound recording, Adapted\r\nMaterial is always produced where the Licensed Material is synched in timed\r\nrelation with a moving image.\r\n\r\nb. Adapter's License means the license You apply to Your Copyright and Similar\r\nRights in Your contributions to Adapted Material in accordance with the terms\r\nand conditions of this Public License.\r\n\r\nc. BY-NC-SA Compatible License means a license listed at creativecommons.org/compatiblelicenses,\r\napproved by Creative Commons as essentially the equivalent of this Public\r\nLicense.\r\n\r\nd. Copyright and Similar Rights means copyright and/or similar rights closely\r\nrelated to copyright including, without limitation, performance, broadcast,\r\nsound recording, and Sui Generis Database Rights, without regard to how the\r\nrights are labeled or categorized. For purposes of this Public License, the\r\nrights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights.\r\n\r\ne. Effective Technological Measures means those measures that, in the absence\r\nof proper authority, may not be circumvented under laws fulfilling obligations\r\nunder Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996,\r\nand/or similar international agreements.\r\n\r\nf. Exceptions and Limitations means fair use, fair dealing, and/or any other\r\nexception or limitation to Copyright and Similar Rights that applies to Your\r\nuse of the Licensed Material.\r\n\r\ng. License Elements means the license attributes listed in the name of a Creative\r\nCommons Public License. The License Elements of this Public License are Attribution,\r\nNonCommercial, and ShareAlike.\r\n\r\nh. Licensed Material means the artistic or literary work, database, or other\r\nmaterial to which the Licensor applied this Public License.\r\n\r\ni. Licensed Rights means the rights granted to You subject to the terms and\r\nconditions of this Public License, which are limited to all Copyright and\r\nSimilar Rights that apply to Your use of the Licensed Material and that the\r\nLicensor has authority to license.\r\n\r\nj. Licensor means the individual(s) or entity(ies) granting rights under this\r\nPublic License.\r\n\r\nk. NonCommercial means not primarily intended for or directed towards commercial\r\nadvantage or monetary compensation. For purposes of this Public License, the\r\nexchange of the Licensed Material for other material subject to Copyright\r\nand Similar Rights by digital file-sharing or similar means is NonCommercial\r\nprovided there is no payment of monetary compensation in connection with the\r\nexchange.\r\n\r\nl. Share means to provide material to the public by any means or process that\r\nrequires permission under the Licensed Rights, such as reproduction, public\r\ndisplay, public performance, distribution, dissemination, communication, or\r\nimportation, and to make material available to the public including in ways\r\nthat members of the public may access the material from a place and at a time\r\nindividually chosen by them.\r\n\r\nm. Sui Generis Database Rights means rights other than copyright resulting\r\nfrom Directive 96/9/EC of the European Parliament and of the Council of 11\r\nMarch 1996 on the legal protection of databases, as amended and/or succeeded,\r\nas well as other essentially equivalent rights anywhere in the world.\r\n\r\nn. You means the individual or entity exercising the Licensed Rights under\r\nthis Public License. Your has a corresponding meaning.\r\n\r\nSection 2 – Scope.\r\n\r\n a. License grant.\r\n\r\n1. Subject to the terms and conditions of this Public License, the Licensor\r\nhereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive,\r\nirrevocable license to exercise the Licensed Rights in the Licensed Material\r\nto:\r\n\r\nA. reproduce and Share the Licensed Material, in whole or in part, for NonCommercial\r\npurposes only; and\r\n\r\nB. produce, reproduce, and Share Adapted Material for NonCommercial purposes\r\nonly.\r\n\r\n2. Exceptions and Limitations. For the avoidance of doubt, where Exceptions\r\nand Limitations apply to Your use, this Public License does not apply, and\r\nYou do not need to comply with its terms and conditions.\r\n\r\n 3. Term. The term of this Public License is specified in Section 6(a).\r\n\r\n4. Media and formats; technical modifications allowed. The Licensor authorizes\r\nYou to exercise the Licensed Rights in all media and formats whether now known\r\nor hereafter created, and to make technical modifications necessary to do\r\nso. The Licensor waives and/or agrees not to assert any right or authority\r\nto forbid You from making technical modifications necessary to exercise the\r\nLicensed Rights, including technical modifications necessary to circumvent\r\nEffective Technological Measures. For purposes of this Public License, simply\r\nmaking modifications authorized by this Section 2(a)(4) never produces Adapted\r\nMaterial.\r\n\r\n 5. Downstream recipients.\r\n\r\nA. Offer from the Licensor – Licensed Material. Every recipient of the Licensed\r\nMaterial automatically receives an offer from the Licensor to exercise the\r\nLicensed Rights under the terms and conditions of this Public License.\r\n\r\nB. Additional offer from the Licensor – Adapted Material. Every recipient\r\nof Adapted Material from You automatically receives an offer from the Licensor\r\nto exercise the Licensed Rights in the Adapted Material under the conditions\r\nof the Adapter's License You apply.\r\n\r\nC. No downstream restrictions. You may not offer or impose any additional\r\nor different terms or conditions on, or apply any Effective Technological\r\nMeasures to, the Licensed Material if doing so restricts exercise of the Licensed\r\nRights by any recipient of the Licensed Material.\r\n\r\n6. No endorsement. Nothing in this Public License constitutes or may be construed\r\nas permission to assert or imply that You are, or that Your use of the Licensed\r\nMaterial is, connected with, or sponsored, endorsed, or granted official status\r\nby, the Licensor or others designated to receive attribution as provided in\r\nSection 3(a)(1)(A)(i).\r\n\r\n b. Other rights.\r\n\r\n1. Moral rights, such as the right of integrity, are not licensed under this\r\nPublic License, nor are publicity, privacy, and/or other similar personality\r\nrights; however, to the extent possible, the Licensor waives and/or agrees\r\nnot to assert any such rights held by the Licensor to the limited extent necessary\r\nto allow You to exercise the Licensed Rights, but not otherwise.\r\n\r\n2. Patent and trademark rights are not licensed under this Public License.\r\n\r\n3. To the extent possible, the Licensor waives any right to collect royalties\r\nfrom You for the exercise of the Licensed Rights, whether directly or through\r\na collecting society under any voluntary or waivable statutory or compulsory\r\nlicensing scheme. In all other cases the Licensor expressly reserves any right\r\nto collect such royalties, including when the Licensed Material is used other\r\nthan for NonCommercial purposes.\r\n\r\nSection 3 – License Conditions.\r\n\r\nYour exercise of the Licensed Rights is expressly made subject to the following\r\nconditions.\r\n\r\n a. Attribution.\r\n\r\n1. If You Share the Licensed Material (including in modified form), You must:\r\n\r\nA. retain the following if it is supplied by the Licensor with the Licensed\r\nMaterial:\r\n\r\ni. identification of the creator(s) of the Licensed Material and any others\r\ndesignated to receive attribution, in any reasonable manner requested by the\r\nLicensor (including by pseudonym if designated);\r\n\r\n ii. a copyright notice;\r\n\r\n iii. a notice that refers to this Public License;\r\n\r\n iv. a notice that refers to the disclaimer of warranties;\r\n\r\n \r\n\r\nv. a URI or hyperlink to the Licensed Material to the extent reasonably practicable;\r\n\r\nB. indicate if You modified the Licensed Material and retain an indication\r\nof any previous modifications; and\r\n\r\nC. indicate the Licensed Material is licensed under this Public License, and\r\ninclude the text of, or the URI or hyperlink to, this Public License.\r\n\r\n2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner\r\nbased on the medium, means, and context in which You Share the Licensed Material.\r\nFor example, it may be reasonable to satisfy the conditions by providing a\r\nURI or hyperlink to a resource that includes the required information.\r\n\r\n3. If requested by the Licensor, You must remove any of the information required\r\nby Section 3(a)(1)(A) to the extent reasonably practicable.\r\n\r\nb. ShareAlike.In addition to the conditions in Section 3(a), if You Share\r\nAdapted Material You produce, the following conditions also apply.\r\n\r\n1. The Adapter's License You apply must be a Creative Commons license with\r\nthe same License Elements, this version or later, or a BY-NC-SA Compatible\r\nLicense.\r\n\r\n2. You must include the text of, or the URI or hyperlink to, the Adapter's\r\nLicense You apply. You may satisfy this condition in any reasonable manner\r\nbased on the medium, means, and context in which You Share Adapted Material.\r\n\r\n3. You may not offer or impose any additional or different terms or conditions\r\non, or apply any Effective Technological Measures to, Adapted Material that\r\nrestrict exercise of the rights granted under the Adapter's License You apply.\r\n\r\nSection 4 – Sui Generis Database Rights.\r\n\r\nWhere the Licensed Rights include Sui Generis Database Rights that apply to\r\nYour use of the Licensed Material:\r\n\r\na. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract,\r\nreuse, reproduce, and Share all or a substantial portion of the contents of\r\nthe database for NonCommercial purposes only;\r\n\r\nb. if You include all or a substantial portion of the database contents in\r\na database in which You have Sui Generis Database Rights, then the database\r\nin which You have Sui Generis Database Rights (but not its individual contents)\r\nis Adapted Material, including for purposes of Section 3(b); and\r\n\r\nc. You must comply with the conditions in Section 3(a) if You Share all or\r\na substantial portion of the contents of the database.\r\n\r\nFor the avoidance of doubt, this Section 4 supplements and does not replace\r\nYour obligations under this Public License where the Licensed Rights include\r\nother Copyright and Similar Rights.\r\n\r\nSection 5 – Disclaimer of Warranties and Limitation of Liability.\r\n\r\na. Unless otherwise separately undertaken by the Licensor, to the extent possible,\r\nthe Licensor offers the Licensed Material as-is and as-available, and makes\r\nno representations or warranties of any kind concerning the Licensed Material,\r\nwhether express, implied, statutory, or other. This includes, without limitation,\r\nwarranties of title, merchantability, fitness for a particular purpose, non-infringement,\r\nabsence of latent or other defects, accuracy, or the presence or absence of\r\nerrors, whether or not known or discoverable. Where disclaimers of warranties\r\nare not allowed in full or in part, this disclaimer may not apply to You.\r\n\r\nb. To the extent possible, in no event will the Licensor be liable to You\r\non any legal theory (including, without limitation, negligence) or otherwise\r\nfor any direct, special, indirect, incidental, consequential, punitive, exemplary,\r\nor other losses, costs, expenses, or damages arising out of this Public License\r\nor use of the Licensed Material, even if the Licensor has been advised of\r\nthe possibility of such losses, costs, expenses, or damages. Where a limitation\r\nof liability is not allowed in full or in part, this limitation may not apply\r\nto You.\r\n\r\nc. The disclaimer of warranties and limitation of liability provided above\r\nshall be interpreted in a manner that, to the extent possible, most closely\r\napproximates an absolute disclaimer and waiver of all liability.\r\n\r\nSection 6 – Term and Termination.\r\n\r\na. This Public License applies for the term of the Copyright and Similar Rights\r\nlicensed here. However, if You fail to comply with this Public License, then\r\nYour rights under this Public License terminate automatically.\r\n\r\nb. Where Your right to use the Licensed Material has terminated under Section\r\n6(a), it reinstates:\r\n\r\n1. automatically as of the date the violation is cured, provided it is cured\r\nwithin 30 days of Your discovery of the violation; or\r\n\r\n 2. upon express reinstatement by the Licensor.\r\n\r\nFor the avoidance of doubt, this Section 6(b) does not affect any right the\r\nLicensor may have to seek remedies for Your violations of this Public License.\r\n\r\nc. For the avoidance of doubt, the Licensor may also offer the Licensed Material\r\nunder separate terms or conditions or stop distributing the Licensed Material\r\nat any time; however, doing so will not terminate this Public License.\r\n\r\n d. Sections 1, 5, 6, 7, and 8 survive termination of this Public License.\r\n\r\nSection 7 – Other Terms and Conditions.\r\n\r\na. The Licensor shall not be bound by any additional or different terms or\r\nconditions communicated by You unless expressly agreed.\r\n\r\nb. Any arrangements, understandings, or agreements regarding the Licensed\r\nMaterial not stated herein are separate from and independent of the terms\r\nand conditions of this Public License.\r\n\r\nSection 8 – Interpretation.\r\n\r\na. For the avoidance of doubt, this Public License does not, and shall not\r\nbe interpreted to, reduce, limit, restrict, or impose conditions on any use\r\nof the Licensed Material that could lawfully be made without permission under\r\nthis Public License.\r\n\r\nb. To the extent possible, if any provision of this Public License is deemed\r\nunenforceable, it shall be automatically reformed to the minimum extent necessary\r\nto make it enforceable. If the provision cannot be reformed, it shall be severed\r\nfrom this Public License without affecting the enforceability of the remaining\r\nterms and conditions.\r\n\r\nc. No term or condition of this Public License will be waived and no failure\r\nto comply consented to unless expressly agreed to by the Licensor.\r\n\r\nd. Nothing in this Public License constitutes or may be interpreted as a limitation\r\nupon, or waiver of, any privileges and immunities that apply to the Licensor\r\nor You, including from the legal processes of any jurisdiction or authority.\r\n\r\nCreative Commons is not a party to its public licenses. Notwithstanding, Creative\r\nCommons may elect to apply one of its public licenses to material it publishes\r\nand in those instances will be considered the \"Licensor.\" The text of the\r\nCreative Commons public licenses is dedicated to the public domain under the\r\nCC0 Public Domain Dedication. Except for the limited purpose of indicating\r\nthat material is shared under a Creative Commons public license or as otherwise\r\npermitted by the Creative Commons policies published at creativecommons.org/policies,\r\nCreative Commons does not authorize the use of the trademark \"Creative Commons\"\r\nor any other trademark or logo of Creative Commons without its prior written\r\nconsent including, without limitation, in connection with any unauthorized\r\nmodifications to any of its public licenses or any other arrangements, understandings,\r\nor agreements concerning use of licensed material. For the avoidance of doubt,\r\nthis paragraph does not form part of the public licenses.\r\n\r\nCreative Commons may be contacted at creativecommons.org.\r\n"},{"author":"deanilvincent","repo":{"type":"git","url":"https://github.com/deanilvincent/check-password-strength"},"description":"A NPM Password strength checker based from Javascript RegExp. Check passphrase if it's \"Weak\", \"Medium\" or \"Strong\"","name":"check-password-strength","license":"MIT","version":"2.0.2","licensetext":"MIT License\r\n\r\nCopyright (c) 2020 Mark Deanil Vicente\r\n\r\nPermission is hereby granted, free of charge, to any person obtaining a copy\r\nof this software and associated documentation files (the \"Software\"), to deal\r\nin the Software without restriction, including without limitation the rights\r\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\ncopies of the Software, and to permit persons to whom the Software is\r\nfurnished to do so, subject to the following conditions:\r\n\r\nThe above copyright notice and this permission notice shall be included in all\r\ncopies or substantial portions of the Software.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\r\nSOFTWARE.\r\n"},{"author":"Keyang Xiang ","repo":{"type":"git","url":"https://github.com/Keyang/node-csvtojson"},"description":"A tool concentrating on converting csv data to JSON with customised parser supporting","name":"csvtojson","license":"MIT","version":"2.0.10","licensetext":"Copyright (C) 2013 Keyang Xiang\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"author":"Afshin Mehrabani ","repo":{"url":"https://github.com/grid-js/gridjs"},"description":"Advanced table plugin","name":"gridjs","license":"MIT","version":"3.3.0","licensetext":""},{"author":"Mozilla","repo":{"type":"git","url":"https://github.comlocalForage/localForage"},"description":"Offline storage, improved.","name":"localforage","license":"Apache-2.0","version":"1.9.0","licensetext":" Apache License\n Version 2.0, January 2004\n http://www.apache.org/licenses/\n\n TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n 1. Definitions.\n\n \"License\" shall mean the terms and conditions for use, reproduction,\n and distribution as defined by Sections 1 through 9 of this document.\n\n \"Licensor\" shall mean the copyright owner or entity authorized by\n the copyright owner that is granting the License.\n\n \"Legal Entity\" shall mean the union of the acting entity and all\n other entities that control, are controlled by, or are under common\n control with that entity. For the purposes of this definition,\n \"control\" means (i) the power, direct or indirect, to cause the\n direction or management of such entity, whether by contract or\n otherwise, or (ii) ownership of fifty percent (50%) or more of the\n outstanding shares, or (iii) beneficial ownership of such entity.\n\n \"You\" (or \"Your\") shall mean an individual or Legal Entity\n exercising permissions granted by this License.\n\n \"Source\" form shall mean the preferred form for making modifications,\n including but not limited to software source code, documentation\n source, and configuration files.\n\n \"Object\" form shall mean any form resulting from mechanical\n transformation or translation of a Source form, including but\n not limited to compiled object code, generated documentation,\n and conversions to other media types.\n\n \"Work\" shall mean the work of authorship, whether in Source or\n Object form, made available under the License, as indicated by a\n copyright notice that is included in or attached to the work\n (an example is provided in the Appendix below).\n\n \"Derivative Works\" shall mean any work, whether in Source or Object\n form, that is based on (or derived from) the Work and for which the\n editorial revisions, annotations, elaborations, or other modifications\n represent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof.\n\n \"Contribution\" shall mean any work of authorship, including\n the original version of the Work and any modifications or additions\n to that Work or Derivative Works thereof, that is intentionally\n submitted to Licensor for inclusion in the Work by the copyright owner\n or by an individual or Legal Entity authorized to submit on behalf of\n the copyright owner. For the purposes of this definition, \"submitted\"\n means any form of electronic, verbal, or written communication sent\n to the Licensor or its representatives, including but not limited to\n communication on electronic mailing lists, source code control systems,\n and issue tracking systems that are managed by, or on behalf of, the\n Licensor for the purpose of discussing and improving the Work, but\n excluding communication that is conspicuously marked or otherwise\n designated in writing by the copyright owner as \"Not a Contribution.\"\n\n \"Contributor\" shall mean Licensor and any individual or Legal Entity\n on behalf of whom a Contribution has been received by Licensor and\n subsequently incorporated within the Work.\n\n 2. Grant of Copyright License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n copyright license to reproduce, prepare Derivative Works of,\n publicly display, publicly perform, sublicense, and distribute the\n Work and such Derivative Works in Source or Object form.\n\n 3. Grant of Patent License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n (except as stated in this section) patent license to make, have made,\n use, offer to sell, sell, import, and otherwise transfer the Work,\n where such license applies only to those patent claims licensable\n by such Contributor that are necessarily infringed by their\n Contribution(s) alone or by combination of their Contribution(s)\n with the Work to which such Contribution(s) was submitted. If You\n institute patent litigation against any entity (including a\n cross-claim or counterclaim in a lawsuit) alleging that the Work\n or a Contribution incorporated within the Work constitutes direct\n or contributory patent infringement, then any patent licenses\n granted to You under this License for that Work shall terminate\n as of the date such litigation is filed.\n\n 4. Redistribution. You may reproduce and distribute copies of the\n Work or Derivative Works thereof in any medium, with or without\n modifications, and in Source or Object form, provided that You\n meet the following conditions:\n\n (a) You must give any other recipients of the Work or\n Derivative Works a copy of this License; and\n\n (b) You must cause any modified files to carry prominent notices\n stating that You changed the files; and\n\n (c) You must retain, in the Source form of any Derivative Works\n that You distribute, all copyright, patent, trademark, and\n attribution notices from the Source form of the Work,\n excluding those notices that do not pertain to any part of\n the Derivative Works; and\n\n (d) If the Work includes a \"NOTICE\" text file as part of its\n distribution, then any Derivative Works that You distribute must\n include a readable copy of the attribution notices contained\n within such NOTICE file, excluding those notices that do not\n pertain to any part of the Derivative Works, in at least one\n of the following places: within a NOTICE text file distributed\n as part of the Derivative Works; within the Source form or\n documentation, if provided along with the Derivative Works; or,\n within a display generated by the Derivative Works, if and\n wherever such third-party notices normally appear. The contents\n of the NOTICE file are for informational purposes only and\n do not modify the License. You may add Your own attribution\n notices within Derivative Works that You distribute, alongside\n or as an addendum to the NOTICE text from the Work, provided\n that such additional attribution notices cannot be construed\n as modifying the License.\n\n You may add Your own copyright statement to Your modifications and\n may provide additional or different license terms and conditions\n for use, reproduction, or distribution of Your modifications, or\n for any such Derivative Works as a whole, provided Your use,\n reproduction, and distribution of the Work otherwise complies with\n the conditions stated in this License.\n\n 5. Submission of Contributions. Unless You explicitly state otherwise,\n any Contribution intentionally submitted for inclusion in the Work\n by You to the Licensor shall be under the terms and conditions of\n this License, without any additional terms or conditions.\n Notwithstanding the above, nothing herein shall supersede or modify\n the terms of any separate license agreement you may have executed\n with Licensor regarding such Contributions.\n\n 6. Trademarks. This License does not grant permission to use the trade\n names, trademarks, service marks, or product names of the Licensor,\n except as required for reasonable and customary use in describing the\n origin of the Work and reproducing the content of the NOTICE file.\n\n 7. Disclaimer of Warranty. Unless required by applicable law or\n agreed to in writing, Licensor provides the Work (and each\n Contributor provides its Contributions) on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n implied, including, without limitation, any warranties or conditions\n of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n PARTICULAR PURPOSE. You are solely responsible for determining the\n appropriateness of using or redistributing the Work and assume any\n risks associated with Your exercise of permissions under this License.\n\n 8. Limitation of Liability. In no event and under no legal theory,\n whether in tort (including negligence), contract, or otherwise,\n unless required by applicable law (such as deliberate and grossly\n negligent acts) or agreed to in writing, shall any Contributor be\n liable to You for damages, including any direct, indirect, special,\n incidental, or consequential damages of any character arising as a\n result of this License or out of the use or inability to use the\n Work (including but not limited to damages for loss of goodwill,\n work stoppage, computer failure or malfunction, or any and all\n other commercial damages or losses), even if such Contributor\n has been advised of the possibility of such damages.\n\n 9. Accepting Warranty or Additional Liability. While redistributing\n the Work or Derivative Works thereof, You may choose to offer,\n and charge a fee for, acceptance of support, warranty, indemnity,\n or other liability obligations and/or rights consistent with this\n License. However, in accepting such obligations, You may act only\n on Your own behalf and on Your sole responsibility, not on behalf\n of any other Contributor, and only if You agree to indemnify,\n defend, and hold each Contributor harmless for any liability\n incurred by, or claims asserted against, such Contributor by reason\n of your accepting any such warranty or additional liability.\n\n END OF TERMS AND CONDITIONS\n\n APPENDIX: How to apply the Apache License to your work.\n\n To apply the Apache License to your work, attach the following\n boilerplate notice, with the fields enclosed by brackets \"{}\"\n replaced with your own identifying information. (Don't include\n the brackets!) The text should be enclosed in the appropriate\n comment syntax for the file format. We also recommend that a\n file or class name and description of purpose be included on the\n same \"printed page\" as the copyright notice for easier\n identification within third-party archives.\n\n Copyright 2014 Mozilla\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n"},{"author":"Christopher Jeffrey","repo":{"url":"git://github.com/markedjs/marked"},"description":"A markdown parser built for speed","name":"marked","license":"MIT","version":"2.0.1","licensetext":"# License information\n\n## Contribution License Agreement\n\nIf you contribute code to this project, you are implicitly allowing your code\nto be distributed under the MIT license. You are also implicitly verifying that\nall code is your original work. ``\n\n## Marked\n\nCopyright (c) 2018+, MarkedJS (https://github.com/markedjs/)\nCopyright (c) 2011-2018, Christopher Jeffrey (https://github.com/chjj/)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n\n## Markdown\n\nCopyright © 2004, John Gruber\nhttp://daringfireball.net/\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.\n* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.\n* Neither the name “Markdown” nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.\n\nThis software is provided by the copyright holders and contributors “as is” and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall the copyright owner or contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage.\n"},{"author":"Greg Larrenaga","repo":{"url":"https://github.com/Duder-onomy/svelte-focus-trap"},"description":"A svelte directive that will trap and wrap focus within an element.","name":"svelte-focus-trap","license":"MIT","version":"1.0.1","licensetext":"The MIT License (MIT)\n\nCopyright (c) 2020\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE."},{"author":"Christian Kaisermann ","repo":{"url":"https://github.com/kaisermann/svelte-i18n"},"description":"Internationalization library for Svelte","name":"svelte-i18n","license":"MIT","version":"3.3.7","licensetext":"Copyright 2017 Christian Kaisermann \n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"author":"rob-balfre","repo":{"url":"https://rob-balfre@github.com/rob-balfre/svelte-select"},"description":"A component for Svelte apps","name":"svelte-select","license":"LIL","version":"3.17.0","licensetext":"Copyright (c) 2019 Robert Balfre\n\nPermission is hereby granted by the authors of this software, to any person, to use the software for any purpose, free of charge, including the rights to run, read, copy, change, distribute and sell it, and including usage rights to any patents the authors may hold on it, subject to the following conditions:\n\nThis license, or a link to its text, must be included with all copies of the software and any derivative works.\n\nAny modification to the software submitted to the authors may be incorporated into the software under the terms of this license.\n\nThe software is provided \"as is\", without warranty of any kind, including but not limited to the warranties of title, fitness, merchantability and non-infringement. The authors have no obligation to provide support or updates for the software, and may not be held liable for any damages, claims or other liability arising from its use.\n"},{"author":"?","repo":{"url":"https://github.com/tailwindlabs/tailwindcss"},"description":"A utility-first CSS framework for rapidly building custom user interfaces.","name":"tailwindcss","license":"MIT","version":"2.0.3","licensetext":"MIT License\n\nCopyright (c) Adam Wathan \nCopyright (c) Jonathan Reinink \n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"author":"Alexey Schebelev","repo":{"type":"git","url":"https://github.com/AlexxNB/tinro"},"description":"tinro is a tiny declarative router for Svelte","name":"tinro","license":"MIT","version":"0.6.1","licensetext":"MIT License\n\nCopyright (c) 2020 Alexey Schebelev\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"author":"Varun A P","repo":{"type":"git","url":"https://github.com/apvarun/toastify-js"},"description":"Toastify is a lightweight, vanilla JS toast notification library.","name":"toastify-js","license":"MIT","version":"1.9.3","licensetext":"MIT License\n\nCopyright (c) 2018 apvarun\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"author":"Chris O'Hara ","repo":{"type":"git","url":"https://github.com/chriso/validator.js"},"description":"String validation and sanitization","name":"validator","license":"MIT","version":"13.5.2","licensetext":"Copyright (c) 2018 Chris O'Hara \n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"author":"sheetjs","repo":{"type":"git","url":"https://github.comSheetJS/sheetjs"},"description":"SheetJS Spreadsheet data parser and writer","name":"xlsx","license":"Apache-2.0","version":"0.16.9","licensetext":" Apache License\n Version 2.0, January 2004\n http://www.apache.org/licenses/\n\n TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n 1. Definitions.\n\n \"License\" shall mean the terms and conditions for use, reproduction,\n and distribution as defined by Sections 1 through 9 of this document.\n\n \"Licensor\" shall mean the copyright owner or entity authorized by\n the copyright owner that is granting the License.\n\n \"Legal Entity\" shall mean the union of the acting entity and all\n other entities that control, are controlled by, or are under common\n control with that entity. For the purposes of this definition,\n \"control\" means (i) the power, direct or indirect, to cause the\n direction or management of such entity, whether by contract or\n otherwise, or (ii) ownership of fifty percent (50%) or more of the\n outstanding shares, or (iii) beneficial ownership of such entity.\n\n \"You\" (or \"Your\") shall mean an individual or Legal Entity\n exercising permissions granted by this License.\n\n \"Source\" form shall mean the preferred form for making modifications,\n including but not limited to software source code, documentation\n source, and configuration files.\n\n \"Object\" form shall mean any form resulting from mechanical\n transformation or translation of a Source form, including but\n not limited to compiled object code, generated documentation,\n and conversions to other media types.\n\n \"Work\" shall mean the work of authorship, whether in Source or\n Object form, made available under the License, as indicated by a\n copyright notice that is included in or attached to the work\n (an example is provided in the Appendix below).\n\n \"Derivative Works\" shall mean any work, whether in Source or Object\n form, that is based on (or derived from) the Work and for which the\n editorial revisions, annotations, elaborations, or other modifications\n represent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof.\n\n \"Contribution\" shall mean any work of authorship, including\n the original version of the Work and any modifications or additions\n to that Work or Derivative Works thereof, that is intentionally\n submitted to Licensor for inclusion in the Work by the copyright owner\n or by an individual or Legal Entity authorized to submit on behalf of\n the copyright owner. For the purposes of this definition, \"submitted\"\n means any form of electronic, verbal, or written communication sent\n to the Licensor or its representatives, including but not limited to\n communication on electronic mailing lists, source code control systems,\n and issue tracking systems that are managed by, or on behalf of, the\n Licensor for the purpose of discussing and improving the Work, but\n excluding communication that is conspicuously marked or otherwise\n designated in writing by the copyright owner as \"Not a Contribution.\"\n\n \"Contributor\" shall mean Licensor and any individual or Legal Entity\n on behalf of whom a Contribution has been received by Licensor and\n subsequently incorporated within the Work.\n\n 2. Grant of Copyright License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n copyright license to reproduce, prepare Derivative Works of,\n publicly display, publicly perform, sublicense, and distribute the\n Work and such Derivative Works in Source or Object form.\n\n 3. Grant of Patent License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n (except as stated in this section) patent license to make, have made,\n use, offer to sell, sell, import, and otherwise transfer the Work,\n where such license applies only to those patent claims licensable\n by such Contributor that are necessarily infringed by their\n Contribution(s) alone or by combination of their Contribution(s)\n with the Work to which such Contribution(s) was submitted. If You\n institute patent litigation against any entity (including a\n cross-claim or counterclaim in a lawsuit) alleging that the Work\n or a Contribution incorporated within the Work constitutes direct\n or contributory patent infringement, then any patent licenses\n granted to You under this License for that Work shall terminate\n as of the date such litigation is filed.\n\n 4. Redistribution. You may reproduce and distribute copies of the\n Work or Derivative Works thereof in any medium, with or without\n modifications, and in Source or Object form, provided that You\n meet the following conditions:\n\n (a) You must give any other recipients of the Work or\n Derivative Works a copy of this License; and\n\n (b) You must cause any modified files to carry prominent notices\n stating that You changed the files; and\n\n (c) You must retain, in the Source form of any Derivative Works\n that You distribute, all copyright, patent, trademark, and\n attribution notices from the Source form of the Work,\n excluding those notices that do not pertain to any part of\n the Derivative Works; and\n\n (d) If the Work includes a \"NOTICE\" text file as part of its\n distribution, then any Derivative Works that You distribute must\n include a readable copy of the attribution notices contained\n within such NOTICE file, excluding those notices that do not\n pertain to any part of the Derivative Works, in at least one\n of the following places: within a NOTICE text file distributed\n as part of the Derivative Works; within the Source form or\n documentation, if provided along with the Derivative Works; or,\n within a display generated by the Derivative Works, if and\n wherever such third-party notices normally appear. The contents\n of the NOTICE file are for informational purposes only and\n do not modify the License. You may add Your own attribution\n notices within Derivative Works that You distribute, alongside\n or as an addendum to the NOTICE text from the Work, provided\n that such additional attribution notices cannot be construed\n as modifying the License.\n\n You may add Your own copyright statement to Your modifications and\n may provide additional or different license terms and conditions\n for use, reproduction, or distribution of Your modifications, or\n for any such Derivative Works as a whole, provided Your use,\n reproduction, and distribution of the Work otherwise complies with\n the conditions stated in this License.\n\n 5. Submission of Contributions. Unless You explicitly state otherwise,\n any Contribution intentionally submitted for inclusion in the Work\n by You to the Licensor shall be under the terms and conditions of\n this License, without any additional terms or conditions.\n Notwithstanding the above, nothing herein shall supersede or modify\n the terms of any separate license agreement you may have executed\n with Licensor regarding such Contributions.\n\n 6. Trademarks. This License does not grant permission to use the trade\n names, trademarks, service marks, or product names of the Licensor,\n except as required for reasonable and customary use in describing the\n origin of the Work and reproducing the content of the NOTICE file.\n\n 7. Disclaimer of Warranty. Unless required by applicable law or\n agreed to in writing, Licensor provides the Work (and each\n Contributor provides its Contributions) on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n implied, including, without limitation, any warranties or conditions\n of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n PARTICULAR PURPOSE. You are solely responsible for determining the\n appropriateness of using or redistributing the Work and assume any\n risks associated with Your exercise of permissions under this License.\n\n 8. Limitation of Liability. In no event and under no legal theory,\n whether in tort (including negligence), contract, or otherwise,\n unless required by applicable law (such as deliberate and grossly\n negligent acts) or agreed to in writing, shall any Contributor be\n liable to You for damages, including any direct, indirect, special,\n incidental, or consequential damages of any character arising as a\n result of this License or out of the use or inability to use the\n Work (including but not limited to damages for loss of goodwill,\n work stoppage, computer failure or malfunction, or any and all\n other commercial damages or losses), even if such Contributor\n has been advised of the possibility of such damages.\n\n 9. Accepting Warranty or Additional Liability. While redistributing\n the Work or Derivative Works thereof, You may choose to offer,\n and charge a fee for, acceptance of support, warranty, indemnity,\n or other liability obligations and/or rights consistent with this\n License. However, in accepting such obligations, You may act only\n on Your own behalf and on Your sole responsibility, not on behalf\n of any other Contributor, and only if You agree to indemnify,\n defend, and hold each Contributor harmless for any liability\n incurred by, or claims asserted against, such Contributor by reason\n of your accepting any such warranty or additional liability.\n\n END OF TERMS AND CONDITIONS\n\n APPENDIX: How to apply the Apache License to your work.\n\n To apply the Apache License to your work, attach the following\n boilerplate notice, with the fields enclosed by brackets \"{}\"\n replaced with your own identifying information. (Don't include\n the brackets!) The text should be enclosed in the appropriate\n comment syntax for the file format. We also recommend that a\n file or class name and description of purpose be included on the\n same \"printed page\" as the copyright notice for easier\n identification within third-party archives.\n\n Copyright (C) 2012-present SheetJS LLC\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n"},{"author":"ODIT.Services","repo":{"type":"git","url":"https://git.odit.services/odit/license-exporter"},"description":"A simple license crawler for crediting open source work","name":"@odit/license-exporter","license":"MIT","version":"0.0.11","licensetext":"MIT License Copyright (c) 2020 ODIT.Services (info@odit.services)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is furnished\nto do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice (including the next\nparagraph) shall be included in all copies or substantial portions of the\nSoftware.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\nFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS\nOR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\nWHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF\nOR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"author":"?","repo":{"type":"git","url":"https://github.com/snowpackjs/snowpack","directory":"plugins/plugin-svelte"},"description":"","name":"@snowpack/plugin-svelte","license":"MIT","version":"3.5.2","licensetext":""},{"author":"Pete Cook (https://github.com/cookpete)","repo":{"type":"git","url":"https://github.com/CookPete/auto-changelog"},"description":"Command line tool for generating a changelog from git tags and commit history","name":"auto-changelog","license":"MIT","version":"2.2.1","licensetext":"The MIT License\n\nCopyright (c) 2017 Pete Cook https://cookpete.com\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n"},{"author":"Andrey Sitnik ","repo":{"url":"postcss/autoprefixer"},"description":"Parse CSS and add vendor prefixes to CSS rules using values from the Can I Use website","name":"autoprefixer","license":"MIT","version":"10.2.5","licensetext":"The MIT License (MIT)\n\nCopyright 2013 Andrey Sitnik \n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software is furnished to do so,\nsubject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\nFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\nCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\nCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"author":"Kent C. Dodds (https://kentcdodds.com)","repo":{"type":"git","url":"https://github.com/kentcdodds/cross-env"},"description":"Run scripts that set and use environment variables across platforms","name":"cross-env","license":"MIT","version":"7.0.3","licensetext":"The MIT License (MIT)\nCopyright (c) 2017 Kent C. Dodds\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"author":"Andrey Sitnik ","repo":{"url":"postcss/postcss"},"description":"Tool for transforming styles with JS plugins","name":"postcss","license":"MIT","version":"8.2.8","licensetext":"The MIT License (MIT)\n\nCopyright 2013 Andrey Sitnik \n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software is furnished to do so,\nsubject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\nFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\nCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\nCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"author":"Michael Ciniawky ","repo":{"url":"postcss/postcss-load-config"},"description":"Autoload Config for PostCSS","name":"postcss-load-config","license":"MIT","version":"3.0.1","licensetext":"The MIT License (MIT)\n\nCopyright Michael Ciniawsky \n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software is furnished to do so,\nsubject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\nFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\nCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\nCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"author":"Lars Kappert","repo":{"type":"git","url":"https://github.com/release-it/release-it"},"description":"Generic CLI tool to automate versioning and package publishing related tasks.","name":"release-it","license":"MIT","version":"14.5.0","licensetext":"MIT License\n\nCopyright (c) 2018 Lars Kappert\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"author":"Fred K. Schott ","repo":{"type":"git","url":"https://github.com/snowpackjs/snowpack"},"description":"The ESM-powered frontend build tool. Fast, lightweight, unbundled.","name":"snowpack","license":"MIT","version":"3.0.13","licensetext":"MIT License\n\nCopyright (c) 2019 Fred K. Schott\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"},{"author":"Rich Harris","repo":{"type":"git","url":"https://github.com/sveltejs/svelte"},"description":"Cybernetically enhanced web apps","name":"svelte","license":"MIT","version":"3.35.0","licensetext":"Copyright (c) 2016-21 [these people](https://github.com/sveltejs/svelte/graphs/contributors)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"author":"Christian Kaisermann ","repo":{"url":"https://github.com/sveltejs/svelte-preprocess"},"description":"A Svelte preprocessor wrapper with baked-in support for commonly used preprocessors","name":"svelte-preprocess","license":"MIT","version":"4.6.9","licensetext":"Copyright (c) 2016-20 [these people](https://github.com/sveltejs/svelte-preprocess/graphs/contributors)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"},{"author":"Google's Web DevRel Team","repo":"https://github.com/GoogleChrome/workbox/tree/master/packages/workbox-cli","description":"workbox-cli is the command line interface for Workbox.","name":"workbox-cli","license":"MIT","version":"6.1.2","licensetext":"Copyright 2018 Google LLC\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n"}] \ No newline at end of file