From ca9c390bb265e5c1b1f8752e118c5f3c560ddc82 Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Wed, 10 Mar 2021 16:41:29 +0100 Subject: [PATCH 001/144] Now routing scan statins overview ref #93 --- src/App.svelte | 7 + .../scanstations/ScanStations.svelte | 29 +++ .../ScanStationsEmptyState.svelte | 17 ++ .../scanstations/ScanStationsOverview.svelte | 177 ++++++++++++++++++ .../scanstations/scanstations_empty.svg | 1 + 5 files changed, 231 insertions(+) create mode 100644 src/components/scanstations/ScanStations.svelte create mode 100644 src/components/scanstations/ScanStationsEmptyState.svelte create mode 100644 src/components/scanstations/ScanStationsOverview.svelte create mode 100644 src/components/scanstations/scanstations_empty.svg diff --git a/src/App.svelte b/src/App.svelte index 3e30b8ad..251f083e 100644 --- a/src/App.svelte +++ b/src/App.svelte @@ -69,6 +69,7 @@ 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"; store.init(); registerSW(); @@ -180,6 +181,12 @@ + + + + + + diff --git a/src/components/scanstations/ScanStations.svelte b/src/components/scanstations/ScanStations.svelte new file mode 100644 index 00000000..11905d88 --- /dev/null +++ b/src/components/scanstations/ScanStations.svelte @@ -0,0 +1,29 @@ + + +
+ + Scanstations + {#if store.state.jwtinfo.userdetails.permissions.includes('CONTACT:CREATE')} + + {/if} + + +
+ + diff --git a/src/components/scanstations/ScanStationsEmptyState.svelte b/src/components/scanstations/ScanStationsEmptyState.svelte new file mode 100644 index 00000000..39ced265 --- /dev/null +++ b/src/components/scanstations/ScanStationsEmptyState.svelte @@ -0,0 +1,17 @@ + + +
+

+ + You don't have any scanstations yet.
+ Add the first scanstation +

+
+ + diff --git a/src/components/scanstations/ScanStationsOverview.svelte b/src/components/scanstations/ScanStationsOverview.svelte new file mode 100644 index 00000000..9d27551d --- /dev/null +++ b/src/components/scanstations/ScanStationsOverview.svelte @@ -0,0 +1,177 @@ + + +{#if store.state.jwtinfo.userdetails.permissions.includes('TEAM:GET')} + {#await promise} + + {:then} + {#if current_contacts.length === 0} + + {:else} + +
+ + + + + + + + + + + {#each current_contacts as t} + {#if Object.values(t) + .toString() + .toLowerCase() + .includes(searchvalue)} + + + + + {#if active_deletes[t.id] === true} + + {:else} + + {/if} + + {/if} + {/each} + +
+ {$_('name')} + + {$_('groups')} + + {$_('address')} + + {$_('action')} +
+
+
+
+ {t.firstname} + {t.middlename || ''} + {t.lastname} +
+
+
+
+
+
+
+ {#if t.groups.length > 0} + {#each t.groups as g} + {#if g.responseType === 'RUNNERORGANIZATION'} + {g.name} + {:else} + {g.parentGroup.name} + > + {g.name} + {/if} + {/each} + {:else} + {$_('contact-is-not-a-member-in-any-group')} + {/if} +
+
+
+
+
+
+
+ {#if t.address.address1 !== null} + {t.address.address1}
+ {t.address.address2 || ''}
+ {t.address.postalcode} + {t.address.city} + {t.address.country} + {/if} +
+
+
+
+ + + + {$_('details')} + {#if store.state.jwtinfo.userdetails.permissions.includes('TEAM:DELETE')} + + {/if} +
+
+ {/if} + {:catch error} +
+ + {$_('general_promise_error')} + {error} + +
+ {/await} +{/if} diff --git a/src/components/scanstations/scanstations_empty.svg b/src/components/scanstations/scanstations_empty.svg new file mode 100644 index 00000000..e0b01c81 --- /dev/null +++ b/src/components/scanstations/scanstations_empty.svg @@ -0,0 +1 @@ + \ No newline at end of file From c53b579fca6f65b8d34ab63a8ec8321100e563bd Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Wed, 10 Mar 2021 16:51:57 +0100 Subject: [PATCH 002/144] Added basic table for scanstations ref #93 --- .../scanstations/ScanStationsOverview.svelte | 95 ++++++++----------- 1 file changed, 37 insertions(+), 58 deletions(-) diff --git a/src/components/scanstations/ScanStationsOverview.svelte b/src/components/scanstations/ScanStationsOverview.svelte index 9d27551d..fc5e8a0a 100644 --- a/src/components/scanstations/ScanStationsOverview.svelte +++ b/src/components/scanstations/ScanStationsOverview.svelte @@ -1,29 +1,29 @@ -{#if store.state.jwtinfo.userdetails.permissions.includes('TEAM:GET')} +{#if store.state.jwtinfo.userdetails.permissions.includes('STATION:GET')} {#await promise} {:then} - {#if current_contacts.length === 0} + {#if current_stations.length === 0} {:else} - {$_('name')} + Description - {$_('groups')} + Track - {$_('address')} + Enabled {$_('action')} @@ -58,19 +58,17 @@ - {#each current_contacts as t} - {#if Object.values(t) + {#each current_stations as s} + {#if Object.values(s) .toString() .toLowerCase() .includes(searchvalue)} - +
- {t.firstname} - {t.middlename || ''} - {t.lastname} + {s.description}
@@ -79,23 +77,9 @@
- {#if t.groups.length > 0} - {#each t.groups as g} - {#if g.responseType === 'RUNNERORGANIZATION'} - {g.name} - {:else} - {g.parentGroup.name} - > - {g.name} - {/if} - {/each} - {:else} - {$_('contact-is-not-a-member-in-any-group')} - {/if} + {s.track.name || s.track.distance + "m"}
@@ -104,41 +88,36 @@
- {#if t.address.address1 !== null} - {t.address.address1}
- {t.address.address2 || ''}
- {t.address.postalcode} - {t.address.city} - {t.address.country} - {/if} + {s.enabled.toString()}
- {#if active_deletes[t.id] === true} + {#if active_deletes[s.id] === true} @@ -147,12 +126,12 @@ {$_('details')} - {#if store.state.jwtinfo.userdetails.permissions.includes('TEAM:DELETE')} + {#if store.state.jwtinfo.userdetails.permissions.includes('STATION:DELETE')} From 5e417f0714c3aa0189d9a7148d81d48ca922802b Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Wed, 10 Mar 2021 16:52:08 +0100 Subject: [PATCH 003/144] Fixed nameing ref #93 --- src/components/scanstations/ScanStationsOverview.svelte | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/scanstations/ScanStationsOverview.svelte b/src/components/scanstations/ScanStationsOverview.svelte index fc5e8a0a..b4831950 100644 --- a/src/components/scanstations/ScanStationsOverview.svelte +++ b/src/components/scanstations/ScanStationsOverview.svelte @@ -8,7 +8,7 @@ } ); import store from "../../store"; - import ContactsEmptyState from "./ScanStationsEmptyState.svelte"; + import ScanStationsEmptyState from "./ScanStationsEmptyState.svelte"; $: searchvalue = ""; $: active_deletes = []; export let current_stations = []; @@ -24,7 +24,7 @@ {:then} {#if current_stations.length === 0} - + {:else} Date: Wed, 10 Mar 2021 17:05:59 +0100 Subject: [PATCH 004/144] Fixed routing ref #93 --- src/App.svelte | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/App.svelte b/src/App.svelte index 251f083e..8d2eb92b 100644 --- a/src/App.svelte +++ b/src/App.svelte @@ -70,6 +70,7 @@ 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"; store.init(); registerSW(); @@ -183,7 +184,7 @@ import ScanStationsOverview from "./components/scanstations/ScanStationsOverview - + From e45f8fa9efabcb18f69577a368235ee568dc16cb Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Wed, 10 Mar 2021 17:06:22 +0100 Subject: [PATCH 005/144] You can now add scanstations ref #93 --- src/components/scanstations/ScanStationsEmptyState.svelte | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/components/scanstations/ScanStationsEmptyState.svelte b/src/components/scanstations/ScanStationsEmptyState.svelte index 39ced265..72aa4bdc 100644 --- a/src/components/scanstations/ScanStationsEmptyState.svelte +++ b/src/components/scanstations/ScanStationsEmptyState.svelte @@ -1,9 +1,10 @@
@@ -14,4 +15,4 @@

- + From 9ee768551f0d617257452f7a89992f25927de02a Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Wed, 10 Mar 2021 17:10:51 +0100 Subject: [PATCH 006/144] Basic scanstation creation ref #93 --- .../scanstations/AddScanStationModal.svelte | 187 ++++++++++++++++++ 1 file changed, 187 insertions(+) create mode 100644 src/components/scanstations/AddScanStationModal.svelte diff --git a/src/components/scanstations/AddScanStationModal.svelte b/src/components/scanstations/AddScanStationModal.svelte new file mode 100644 index 00000000..3b628584 --- /dev/null +++ b/src/components/scanstations/AddScanStationModal.svelte @@ -0,0 +1,187 @@ + + +{#if modal_open} +
{ + modal_open = false; + }}> +
+ +
+{/if} From 83e782c7c567d3747eb4e0a4313f6e7de6f2355f Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Wed, 10 Mar 2021 17:16:14 +0100 Subject: [PATCH 007/144] Finished scanstationmodal (without i18n) ref #93 --- .../scanstations/AddScanStationModal.svelte | 39 +++++++++++-------- 1 file changed, 22 insertions(+), 17 deletions(-) diff --git a/src/components/scanstations/AddScanStationModal.svelte b/src/components/scanstations/AddScanStationModal.svelte index 3b628584..f340388a 100644 --- a/src/components/scanstations/AddScanStationModal.svelte +++ b/src/components/scanstations/AddScanStationModal.svelte @@ -48,8 +48,9 @@ ScanStationService.scanStationControllerPost(postdata) .then((result) => { description = ""; - track = null; + track = tracks[0].id; enabled = true; + modal_open = false; // Toastify({ text: "Scanstation added", @@ -114,7 +115,8 @@

- Please provide the required information to create a new scanstation + Please provide the required information to create a new + scanstation

@@ -127,9 +129,7 @@ bind:value={track} 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 rounded-md p-2"> {#each tracks as t} - + {/each}
@@ -146,19 +146,24 @@ name="description" 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 rounded-md p-2" />
- + for="enabled" + class="ml-1 font-medium text-gray-700">Enabled +
+

+ { + enabled = !enabled; + }} + name="enabled" + type="checkbox" + checked={enabled} + class="focus:ring-indigo-500 h-4 w-4 text-indigo-600 border-gray-300 rounded" /> + This scanstation is {#if enabled}enabled{:else}disabled{/if} +

+ From 85fa9d942ea8e8d636509bf0db79b56f4c1a20b8 Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Wed, 10 Mar 2021 17:16:50 +0100 Subject: [PATCH 008/144] Finished scanstations base view ref #93 --- src/components/scanstations/ScanStations.svelte | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/components/scanstations/ScanStations.svelte b/src/components/scanstations/ScanStations.svelte index 11905d88..f1518604 100644 --- a/src/components/scanstations/ScanStations.svelte +++ b/src/components/scanstations/ScanStations.svelte @@ -1,16 +1,16 @@
Scanstations - {#if store.state.jwtinfo.userdetails.permissions.includes('CONTACT:CREATE')} + {#if store.state.jwtinfo.userdetails.permissions.includes('STATION:CREATE')} {/if} - +
- +{#if store.state.jwtinfo.userdetails.permissions.includes('STATION:CREATE')} + +{/if} From 773fbfc579014dcf67c87b43ab0a0d9d11ea23d6 Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Wed, 10 Mar 2021 17:18:45 +0100 Subject: [PATCH 009/144] Changed row order ref #93 --- .../scanstations/ScanStationsOverview.svelte | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/components/scanstations/ScanStationsOverview.svelte b/src/components/scanstations/ScanStationsOverview.svelte index b4831950..1d158768 100644 --- a/src/components/scanstations/ScanStationsOverview.svelte +++ b/src/components/scanstations/ScanStationsOverview.svelte @@ -40,12 +40,12 @@ - Description + Track - Track + Description @@ -77,9 +79,7 @@ From 9f754ef0e98ab78548391796db96e69b15fcd20e Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Wed, 10 Mar 2021 17:24:51 +0100 Subject: [PATCH 010/144] Added station deletion confirmation dialog ref #93 --- .../ConfirmScanStationDeletion.svelte | 92 +++++++++++++++++++ .../scanstations/ScanStationsOverview.svelte | 42 +++++---- 2 files changed, 118 insertions(+), 16 deletions(-) create mode 100644 src/components/scanstations/ConfirmScanStationDeletion.svelte diff --git a/src/components/scanstations/ConfirmScanStationDeletion.svelte b/src/components/scanstations/ConfirmScanStationDeletion.svelte new file mode 100644 index 00000000..f69a059f --- /dev/null +++ b/src/components/scanstations/ConfirmScanStationDeletion.svelte @@ -0,0 +1,92 @@ + + +{#if modal_open} +
+
+ +
+{/if} diff --git a/src/components/scanstations/ScanStationsOverview.svelte b/src/components/scanstations/ScanStationsOverview.svelte index 1d158768..8e02afa0 100644 --- a/src/components/scanstations/ScanStationsOverview.svelte +++ b/src/components/scanstations/ScanStationsOverview.svelte @@ -9,11 +9,21 @@ ); import store from "../../store"; import ScanStationsEmptyState from "./ScanStationsEmptyState.svelte"; +import ConfirmScanStationDeletion from "./ConfirmScanStationDeletion.svelte"; $: searchvalue = ""; $: active_deletes = []; + let delete_station = {}; + let modal_open = false; export let current_stations = []; + { + modal_open = false; + active_deletes[event.detail.id] = false; + }} + bind:modal_open + bind:delete_station /> {#if store.state.jwtinfo.userdetails.permissions.includes('STATION:GET')} {#await promise}
{$_('cancel-delete')} From a3daa2d24f5ed76fbde5d073360b2ca0a98fa9ac Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Wed, 10 Mar 2021 17:38:56 +0100 Subject: [PATCH 011/144] Now routing scan station detail ref #93 --- src/App.svelte | 5 ++++- src/components/scanstations/ScanStationsOverview.svelte | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/App.svelte b/src/App.svelte index 8d2eb92b..9871981e 100644 --- a/src/App.svelte +++ b/src/App.svelte @@ -71,6 +71,7 @@ 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"; store.init(); registerSW(); @@ -186,7 +187,9 @@ import ScanStations from "./components/scanstations/ScanStations.svelte"; - + + + diff --git a/src/components/scanstations/ScanStationsOverview.svelte b/src/components/scanstations/ScanStationsOverview.svelte index 8e02afa0..dc987f4e 100644 --- a/src/components/scanstations/ScanStationsOverview.svelte +++ b/src/components/scanstations/ScanStationsOverview.svelte @@ -136,7 +136,7 @@ import ConfirmScanStationDeletion from "./ConfirmScanStationDeletion.svelte"; {$_('details')} {#if store.state.jwtinfo.userdetails.permissions.includes('STATION:DELETE')} + + {/if} + {#if !delete_triggered} + + {/if} + {/if} + {#if !delete_triggered} + + {/if} + +
+ +
+ + +
+
+ + +
+
+ +
+

+ { + editable.enabled = !editable.enabled; + }} + name="enabled" + type="checkbox" + checked={editable.enabled} + class="focus:ring-indigo-500 h-4 w-4 text-indigo-600 border-gray-300 rounded" /> + This scanstation is + {#if editable.enabled}enabled{:else}disabled{/if} +

+
+ +{:catch error} + +{/await} From 7ff1d5007935946423d49eb559cb9e15f7dbb023 Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Wed, 10 Mar 2021 17:43:59 +0100 Subject: [PATCH 013/144] Spelling+Formatting ref #93 --- .../scanstations/AddScanStationModal.svelte | 2 +- .../scanstations/ScanStationsOverview.svelte | 39 ++++++++++--------- 2 files changed, 21 insertions(+), 20 deletions(-) diff --git a/src/components/scanstations/AddScanStationModal.svelte b/src/components/scanstations/AddScanStationModal.svelte index f340388a..3fd61824 100644 --- a/src/components/scanstations/AddScanStationModal.svelte +++ b/src/components/scanstations/AddScanStationModal.svelte @@ -123,7 +123,7 @@
+ class="block text-sm font-medium text-gray-700">Track + class="ml-1 font-medium text-gray-700">{$_('enabled')}

- This scanstation is {#if enabled}enabled{:else}disabled{/if} + {$_('this-scanstation-is')} {#if enabled}{$_('enabled')}{:else}{$_('disabled')}{/if}

diff --git a/src/components/scanstations/ConfirmScanStationDeletion.svelte b/src/components/scanstations/ConfirmScanStationDeletion.svelte index f69a059f..9dbd8b8e 100644 --- a/src/components/scanstations/ConfirmScanStationDeletion.svelte +++ b/src/components/scanstations/ConfirmScanStationDeletion.svelte @@ -19,7 +19,7 @@ ) .then((resp) => { Toastify({ - text: "Station deleted", + text: $_('station-deleted'), duration: 500, backgroundColor: "linear-gradient(to right, #00b09b, #96c93d)", }).showToast(); @@ -66,7 +66,7 @@ 'do-you-want-to-delete-this-donor-with-all-related-donations' )}
- All associated scans will get deleted as well + {$_('all-associated-scans-will-get-deleted-as-well')}

@@ -77,13 +77,13 @@ on:click={deleteStation} type="button" class="w-full inline-flex justify-center rounded-md border border-transparent shadow-sm px-4 py-2 bg-red-600 text-base font-medium text-white hover:bg-red-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-red-500 sm:ml-3 sm:w-auto sm:text-sm"> - Confirm, delete station with all scans + {$_('confirm-delete-station-with-all-scans')} diff --git a/src/components/scanstations/ScanStationDetail.svelte b/src/components/scanstations/ScanStationDetail.svelte index 44f10a6c..f8585749 100644 --- a/src/components/scanstations/ScanStationDetail.svelte +++ b/src/components/scanstations/ScanStationDetail.svelte @@ -4,8 +4,7 @@ import { ScanStationService, TrackService } from "@odit/lfk-client-js"; import Toastify from "toastify-js"; import PromiseError from "../base/PromiseError.svelte"; - import { edit } from "marked/src/helpers"; -import ConfirmScanStationDeletion from "./ConfirmScanStationDeletion.svelte"; + import ConfirmScanStationDeletion from "./ConfirmScanStationDeletion.svelte"; let data_loaded = false; let modal_open; let delete_station; @@ -32,7 +31,7 @@ import ConfirmScanStationDeletion from "./ConfirmScanStationDeletion.svelte"; function submit() { if (data_loaded === true && save_enabled) { Toastify({ - text: "Station is being updated", + text: $_('station-is-being-updated'), duration: 2500, }).showToast(); ScanStationService.scanStationControllerPut(original_data.id, editable) @@ -40,7 +39,7 @@ import ConfirmScanStationDeletion from "./ConfirmScanStationDeletion.svelte"; Object.assign(original_data, editable); original_data = original_data; Toastify({ - text: "Updated station", + text: $_('updated-station'), duration: 2500, backgroundColor: "linear-gradient(to right, #00b09b, #96c93d)", }).showToast(); @@ -53,7 +52,7 @@ import ConfirmScanStationDeletion from "./ConfirmScanStationDeletion.svelte"; ScanStationService.scanStationControllerRemove(original_data.id, false) .then((resp) => { Toastify({ - text: "Station deleted", + text: $_('station-deleted'), duration: 500, backgroundColor: "linear-gradient(to right, #00b09b, #96c93d)", }).showToast(); @@ -68,7 +67,7 @@ import ConfirmScanStationDeletion from "./ConfirmScanStationDeletion.svelte"; {#await promise} - Loading station details + {$_('loading-station-details')} {:then}
@@ -86,7 +85,7 @@ import ConfirmScanStationDeletion from "./ConfirmScanStationDeletion.svelte"; d="M2 22a8 8 0 1 1 16 0H2zm8-9c-3.315 0-6-2.685-6-6s2.685-6 6-6 6 2.685 6 6-2.685 6-6 6zm10 4h4v2h-4v-2zm-3-5h7v2h-7v-2zm2-5h5v2h-5V7z" />
  • - Scanstation{$_('scanstation')}Delete - station + class="w-full justify-center rounded-md border border-transparent shadow-sm px-4 py-2 bg-red-600 text-base font-medium text-white hover:bg-red-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-red-500 sm:ml-3 sm:w-auto sm:text-sm">{$_('delete-station')} {/if} {/if} {#if !delete_triggered} @@ -161,10 +159,10 @@ import ConfirmScanStationDeletion from "./ConfirmScanStationDeletion.svelte";
    + class="font-medium text-gray-700">{$_('description')} + class="ml-1 font-medium text-gray-700">{$_('enabled')}

    - This scanstation is - {#if editable.enabled}enabled{:else}disabled{/if} + {$_('this-scanstation-is')} + {#if editable.enabled}{$_('enabled')}{:else}{$_('disabled')}{/if}

  • diff --git a/src/components/scanstations/ScanStations.svelte b/src/components/scanstations/ScanStations.svelte index f1518604..882f03d3 100644 --- a/src/components/scanstations/ScanStations.svelte +++ b/src/components/scanstations/ScanStations.svelte @@ -9,7 +9,7 @@
    - Scanstations + {$_('scanstations')} {#if store.state.jwtinfo.userdetails.permissions.includes('STATION:CREATE')} {/if} diff --git a/src/components/scanstations/ScanStationsEmptyState.svelte b/src/components/scanstations/ScanStationsEmptyState.svelte index 72aa4bdc..3d34d5b5 100644 --- a/src/components/scanstations/ScanStationsEmptyState.svelte +++ b/src/components/scanstations/ScanStationsEmptyState.svelte @@ -1,7 +1,6 @@ + +{#if copy_modal_open} + {#if valueCopy != null} + + {/if} +
    +
    + +
    +{/if} diff --git a/src/components/scanstations/ScanStations.svelte b/src/components/scanstations/ScanStations.svelte index 882f03d3..74b636af 100644 --- a/src/components/scanstations/ScanStations.svelte +++ b/src/components/scanstations/ScanStations.svelte @@ -2,8 +2,11 @@ import { _ } from "svelte-i18n"; import store from "../../store"; import AddScanStationModal from "./AddScanStationModal.svelte"; +import CopyScanStationTokenModal from "./CopyScanStationTokenModal.svelte"; import ScanStationsOverview from "./ScanStationsOverview.svelte"; export let modal_open = false; + export let copy_modal_open = false; + export let new_station = {}; let current_stations = []; @@ -21,9 +24,10 @@ {/if} - +
    {#if store.state.jwtinfo.userdetails.permissions.includes('STATION:CREATE')} - + + {/if} diff --git a/src/components/scanstations/ScanStationsEmptyState.svelte b/src/components/scanstations/ScanStationsEmptyState.svelte index 3d34d5b5..5a1baec6 100644 --- a/src/components/scanstations/ScanStationsEmptyState.svelte +++ b/src/components/scanstations/ScanStationsEmptyState.svelte @@ -1,8 +1,11 @@ @@ -14,4 +17,5 @@ import AddScanStationModal from "./AddScanStationModal.svelte";

    - + + \ No newline at end of file From 1aa2b3b065816f82c85b5320261a10b9c4d1879c Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Wed, 10 Mar 2021 19:57:36 +0100 Subject: [PATCH 022/144] =?UTF-8?q?Added=20new=20translation=20keys=20?= =?UTF-8?q?=F0=9F=8C=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ref #93 --- .../CopyScanStationTokenModal.svelte | 15 +- src/locales/en.json | 668 +++++++++--------- 2 files changed, 343 insertions(+), 340 deletions(-) diff --git a/src/components/scanstations/CopyScanStationTokenModal.svelte b/src/components/scanstations/CopyScanStationTokenModal.svelte index 7ef8d3e1..d227f8aa 100644 --- a/src/components/scanstations/CopyScanStationTokenModal.svelte +++ b/src/components/scanstations/CopyScanStationTokenModal.svelte @@ -1,8 +1,6 @@ diff --git a/src/components/teams/TeamsOverview.svelte b/src/components/teams/TeamsOverview.svelte index 68071f20..bf29cb3e 100644 --- a/src/components/teams/TeamsOverview.svelte +++ b/src/components/teams/TeamsOverview.svelte @@ -20,7 +20,6 @@ usersstore.set(data); }); document.addEventListener("click", function (e) { - console.log(e.target.parentNode) if ( e.target.parentNode?.parentNode?.id != "sponsoring:dropdown" && e.target.parentNode?.parentNode?.id != "sponsoring:dropdown:menu" From d3a3de2eac40503a5c626e59f9b5036e482b7399 Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Wed, 17 Mar 2021 10:16:22 +0100 Subject: [PATCH 049/144] Fixed initial select value ref #91 --- src/components/teams/TeamDetail.svelte | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/components/teams/TeamDetail.svelte b/src/components/teams/TeamDetail.svelte index e592db48..78381d14 100644 --- a/src/components/teams/TeamDetail.svelte +++ b/src/components/teams/TeamDetail.svelte @@ -74,8 +74,8 @@ text: "updating team", duration: 2500, }).showToast(); - teamdata.parentGroup = teamdata.parentGroup.id; let postdata = teamdata; + postdata.parentGroup = teamdata.parentGroup.id; postdata.contact = postdata.contact === "null" ? null : postdata.contact; RunnerTeamService.runnerTeamControllerPut(original.id, postdata) .then((resp) => { @@ -371,10 +371,9 @@ option.id.toString().startsWith(filterText.toLowerCase())} items={orgs} showChevron={true} - placeholder={$_('search-for-runner-by-name-or-id')} - noOptionsMessage={$_('no-runners-found')} - selectedValue={undefined || orgs.find((r) => (r.id = original.parentGroup.id))} - on:select={(selectedValue) => (teamdata.parentGroup == selectedValue.detail)} + placeholder={$_('search-for-an-organization-by-name-or-id')} + noOptionsMessage={$_('no-organizations-found')} + bind:selectedValue={teamdata.parentGroup} on:clear={()=>(teamdata.parentGroup = null)} /> From 7edc3427e10166d2a5e1b911cc459b26b37f984b Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Wed, 17 Mar 2021 10:29:20 +0100 Subject: [PATCH 050/144] Added contact selection via svelte select ref #91 --- src/components/teams/TeamDetail.svelte | 63 ++++++++++++++------------ src/locales/en.json | 4 +- 2 files changed, 36 insertions(+), 31 deletions(-) diff --git a/src/components/teams/TeamDetail.svelte b/src/components/teams/TeamDetail.svelte index 78381d14..3c1ea30f 100644 --- a/src/components/teams/TeamDetail.svelte +++ b/src/components/teams/TeamDetail.svelte @@ -7,7 +7,7 @@ import { getLocaleFromNavigator, _ } from "svelte-i18n"; import Toastify from "toastify-js"; import store from "../../store"; - import Select from "svelte-select" + import Select from "svelte-select"; import ImportRunnerModal from "../runners/ImportRunnerModal.svelte"; import PromiseError from "../base/PromiseError.svelte"; import ConfirmTeamDeletion from "./ConfirmTeamDeletion.svelte"; @@ -27,15 +27,12 @@ $: data_changed = JSON.stringify(teamdata) === JSON.stringify(original); $: sponsoring_contracts_download_open = false; // + const getContactLabel = (option) => + option.firstname + " " + (option.middlename || "") + " " + option.lastname; const promise = RunnerTeamService.runnerTeamControllerGetOne( params.teamid ).then((value) => { data_loaded = true; - if (value.contact) { - if (value.contact !== "null") { - value.contact = value.contact.id; - } - } teamdata = Object.assign(teamdata, value); original = Object.assign(original, value); }); @@ -76,13 +73,11 @@ }).showToast(); let postdata = teamdata; postdata.parentGroup = teamdata.parentGroup.id; - postdata.contact = postdata.contact === "null" ? null : postdata.contact; + postdata.contact = teamdata.contact?.id; RunnerTeamService.runnerTeamControllerPut(original.id, postdata) .then((resp) => { Object.assign(original, teamdata); - original = teamdata; - Object.assign(original, teamdata); - // + original = original; Toastify({ text: "updated team", duration: 2500, @@ -344,37 +339,45 @@ - + {return option.name}} - getOptionLabel={(option) => {return option.name}} - itemFilter={(label, filterText, option) => - label.toLowerCase().includes(filterText.toLowerCase()) || - option.id.toString().startsWith(filterText.toLowerCase())} + getSelectionLabel={(option) => { + return option.name; + }} + getOptionLabel={(option) => { + return option.name; + }} + itemFilter={(label, filterText, option) => label + .toLowerCase() + .includes( + filterText.toLowerCase() + ) || option.id.toString().startsWith(filterText.toLowerCase())} items={orgs} showChevron={true} placeholder={$_('search-for-an-organization-by-name-or-id')} noOptionsMessage={$_('no-organizations-found')} bind:selectedValue={teamdata.parentGroup} - on:clear={()=>(teamdata.parentGroup = null)} /> + on:clear={() => (teamdata.parentGroup = null)} /> {:else} diff --git a/src/locales/en.json b/src/locales/en.json index bf5d964d..455f52f0 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -314,5 +314,7 @@ "no-runners-found": "No runners found", "search-for-an-organization-by-name-or-id": "Search for an organization (by name or id)", "no-organizations-found": "No organizations found", - "you-have-to-provide-an-organization": "You have to provide an organization" + "you-have-to-provide-an-organization": "You have to provide an organization", + "no-contact-found": "No contact found", + "no-contact-selected": "No contact selected" } From e1bd364278e590b8081c10fae3f642b91936c69b Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Wed, 17 Mar 2021 10:30:27 +0100 Subject: [PATCH 051/144] Formatting --- src/components/teams/AddTeamModal.svelte | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/src/components/teams/AddTeamModal.svelte b/src/components/teams/AddTeamModal.svelte index 8eccdccf..89752448 100644 --- a/src/components/teams/AddTeamModal.svelte +++ b/src/components/teams/AddTeamModal.svelte @@ -148,18 +148,26 @@ class="block text-sm font-medium text-gray-700">{$_('organization')} {$_('team')} - + Date: Wed, 17 Mar 2021 10:50:26 +0100 Subject: [PATCH 054/144] formatting ref #91 --- src/components/runners/AddRunnerModal.svelte | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/components/runners/AddRunnerModal.svelte b/src/components/runners/AddRunnerModal.svelte index 3f726333..26d644d4 100644 --- a/src/components/runners/AddRunnerModal.svelte +++ b/src/components/runners/AddRunnerModal.svelte @@ -11,7 +11,7 @@ import isMobilePhone from "validator/es/lib/isMobilePhone"; import Toastify from "toastify-js"; import Select from "svelte-select"; -import AddDonationModal from "../donations/AddDonationModal.svelte"; + import AddDonationModal from "../donations/AddDonationModal.svelte"; export let modal_open; export let current_runners; $: selected_team = undefined; @@ -231,16 +231,16 @@ import AddDonationModal from "../donations/AddDonationModal.svelte"; - {#each teams as team} - - {/each} - {#each orgs as org} - - {/each} - + - - {#each contacts as c} - - {/each} - + +
    + + + + + + + + + + + + {#each current_donations as donation} + {#if donation.donor.firstname + .toLowerCase() + .includes( + searchvalue.toLowerCase() + ) || donation.donor.middlename + .toLowerCase() + .includes( + searchvalue.toLowerCase() + ) || donation.donor.lastname + .toLowerCase() + .includes( + searchvalue.toLowerCase() + ) || donation.runner?.firstname + .toLowerCase() + .includes( + searchvalue.toLowerCase() + ) || donation.runner?.middlename + .toLowerCase() + .includes( + searchvalue.toLowerCase() + ) || donation.runner?.lastname + .toLowerCase() + .includes( + searchvalue.toLowerCase() + ) || should_display_based_on_id(donation.id)} + + + + + + {#if active_deletes[donation.id] === true} + + {:else} + + {/if} + + {/if} + {/each} + +
    + {$_('donor')} + + {$_('runner')} + + {$_('amount-per-kilometer')} + + {$_('donation-amount')} + + {$_('action')} +
    + + + {#if donation.runner} + + {:else} +
    + {$_('fixed-donation')} +
    + {/if} +
    + {#if donation.amountPerDistance} +
    + {(donation.amountPerDistance / 100) + .toFixed(2) + .toLocaleString('de-DE', { valute: 'EUR' })}€ +
    + {:else} +
    + {$_('fixed-donation')} +
    + {/if} +
    +
    + {(donation.amount / 100) + .toFixed(2) + .toLocaleString('de-DE', { valute: 'EUR' })}€ +
    +
    + + + + {$_('details')} + {#if store.state.jwtinfo.userdetails.permissions.includes('DONATION:DELETE')} + + {/if} +
    +
    + {/if} + {:catch error} +
    + + {$_('general_promise_error')} + {error} + +
    + {/await} +{/if} From eb0910be575f4d83ab4f81a75a76cdfac46db19b Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Wed, 17 Mar 2021 13:49:51 +0100 Subject: [PATCH 066/144] Added basic scan overview ref #92 --- src/components/scans/Scans.svelte | 8 +- src/components/scans/ScansOverview.svelte | 154 ++++++++++++---------- 2 files changed, 90 insertions(+), 72 deletions(-) diff --git a/src/components/scans/Scans.svelte b/src/components/scans/Scans.svelte index 8084ae82..27263eaf 100644 --- a/src/components/scans/Scans.svelte +++ b/src/components/scans/Scans.svelte @@ -2,8 +2,8 @@ import { _ } from "svelte-i18n"; import store from "../../store"; // import AddDonationModal from "./AddDonationModal.svelte"; - // import DonationsOverview from "./DonationsOverview.svelte"; - $: current_donations = []; + import ScansOverview from "./ScansOverview.svelte"; + $: current_scans = []; export let modal_open = false; @@ -21,9 +21,9 @@ {/if} - + {#if store.state.jwtinfo.userdetails.permissions.includes('SCAN:CREATE')} - + {/if} diff --git a/src/components/scans/ScansOverview.svelte b/src/components/scans/ScansOverview.svelte index 49a1fca3..9c218aca 100644 --- a/src/components/scans/ScansOverview.svelte +++ b/src/components/scans/ScansOverview.svelte @@ -1,15 +1,15 @@ -{#if store.state.jwtinfo.userdetails.permissions.includes('DONATION:GET')} - {#await donations_promise} +{#if store.state.jwtinfo.userdetails.permissions.includes('SCAN:GET')} + {#await scans_promise} {:then} - {#if current_donations.length === 0} + {#if current_scans.length === 0} {:else} - - {$_('donor')} - @@ -56,12 +51,22 @@ - {$_('amount-per-kilometer')} + Distance - {$_('donation-amount')} + Status + + + Track + + + Station {$_('action')} @@ -69,95 +74,108 @@ - {#each current_donations as donation} - {#if donation.donor.firstname + {#each current_scans as scan} + + {#if scan.donor.firstname .toLowerCase() .includes( searchvalue.toLowerCase() - ) || donation.donor.middlename + ) || scan.donor.middlename .toLowerCase() .includes( searchvalue.toLowerCase() - ) || donation.donor.lastname + ) || scan.donor.lastname .toLowerCase() .includes( searchvalue.toLowerCase() - ) || donation.runner?.firstname + ) || scan.runner?.firstname .toLowerCase() .includes( searchvalue.toLowerCase() - ) || donation.runner?.middlename + ) || scan.runner?.middlename .toLowerCase() .includes( searchvalue.toLowerCase() - ) || donation.runner?.lastname + ) || scan.runner?.lastname .toLowerCase() .includes( searchvalue.toLowerCase() - ) || should_display_based_on_id(donation.id)} - + ) || should_display_based_on_id(scan.id)} +
    {donation.donor.firstname} - {donation.donor.middlename || ''} - {donation.donor.lastname} + href="../runners/{scan.runner.id}" + class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-gray-100 text-gray-800">{scan.runner.firstname} + {scan.runner.middlename || ''} + {scan.runner.lastname}
    - - {#if donation.runner} - - {:else} -
    - {$_('fixed-donation')} -
    - {/if} - - - {#if donation.amountPerDistance} -
    - {(donation.amountPerDistance / 100) - .toFixed(2) - .toLocaleString('de-DE', { valute: 'EUR' })}€ -
    - {:else} -
    - {$_('fixed-donation')} -
    - {/if} -
    - {(donation.amount / 100) - .toFixed(2) - .toLocaleString('de-DE', { valute: 'EUR' })}€ + {#if scan.distance < 1000} + {scan.distance}m + {:else} + {(scan.distance / 1000)}km + {/if}
    - {#if active_deletes[donation.id] === true} + +
    + {#if scan.valid} + Valid + {:else} + Invalid + {/if} +
    + + + {#if scan.track} + + {:else} +
    + Scan with fixed distance +
    + {/if} + + + {#if scan.station} +
    + {:else} +
    + Scan with fixed distance +
    + {/if} + + + {#if active_deletes[scan.id] === true}
    From 1ada5d9c2c4d78868ca87b5cb05c0b6d770c7e9c Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Wed, 17 Mar 2021 13:58:31 +0100 Subject: [PATCH 067/144] Implemented basic scan creation ref #92 --- src/components/scans/AddScanModal.svelte | 199 +++++++++++++++++++++++ src/components/scans/Scans.svelte | 4 +- 2 files changed, 201 insertions(+), 2 deletions(-) create mode 100644 src/components/scans/AddScanModal.svelte diff --git a/src/components/scans/AddScanModal.svelte b/src/components/scans/AddScanModal.svelte new file mode 100644 index 00000000..8f9c7cc2 --- /dev/null +++ b/src/components/scans/AddScanModal.svelte @@ -0,0 +1,199 @@ + + +{#if modal_open} +
    { + modal_open = false; + }}> +
    + +
    +
    +{/if} diff --git a/src/components/scans/Scans.svelte b/src/components/scans/Scans.svelte index 27263eaf..b817ab57 100644 --- a/src/components/scans/Scans.svelte +++ b/src/components/scans/Scans.svelte @@ -1,7 +1,7 @@ {#if store.state.jwtinfo.userdetails.permissions.includes('SCAN:GET')} @@ -54,23 +59,18 @@ - Distance + Distance (+Track) + + + Laptime Status - - Track - - - Station - {$_('action')} @@ -110,8 +110,25 @@ {#if scan.distance < 1000} {scan.distance}m {:else}{scan.distance / 1000}km{/if} + {#if scan.track} + {scan.track.name} + + {/if} + + {#if scan.laptime} +
    + {format_laptime(scan.laptime)} +
    + {:else} +
    + Scan with fixed distance +
    + {/if} +
    {#if scan.valid} @@ -123,34 +140,6 @@ {/if}
    - - {#if scan.track} - - {:else} -
    - Scan with fixed distance -
    - {/if} - - - {#if scan.station} - - {:else} -
    - Scan with fixed distance -
    - {/if} - {#if active_deletes[scan.id] === true} Date: Wed, 17 Mar 2021 17:01:09 +0100 Subject: [PATCH 072/144] Small bugfixes ref #91 --- src/components/donations/AddDonationModal.svelte | 2 +- src/components/runners/AddRunnerModal.svelte | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/donations/AddDonationModal.svelte b/src/components/donations/AddDonationModal.svelte index ae3f0a14..ab9dd2a2 100644 --- a/src/components/donations/AddDonationModal.svelte +++ b/src/components/donations/AddDonationModal.svelte @@ -164,7 +164,7 @@ class="hidden sm:inline-block sm:align-middle sm:h-screen" aria-hidden="true">​
    - {original_data.runner.firstname} - {original_data.runner.middlename || ''} - {original_data.runner.lastname} + {runner.value?.firstname} + {runner.value?.middlename || ''} + {runner.value?.lastname} #{original_data.id} {#if store.state.jwtinfo.userdetails.permissions.includes('SCAN:DELETE')} @@ -235,7 +235,7 @@ noOptionsMessage={$_('no-runners-found')} bind:selectedValue={runner} on:select={(selectedValue) => { - editable.runner = selectedValue.detail.value; + editable.runner = selectedValue.detail.value.id; }} on:clear={() => (editable.runner = null)} />
    From d28a0e1dbb877b3e369b106a103a3bfc52dd1e6a Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Thu, 18 Mar 2021 18:32:08 +0100 Subject: [PATCH 103/144] Fix for bug discovered by @philipp ref #92 --- src/components/scans/ScanDetail.svelte | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/components/scans/ScanDetail.svelte b/src/components/scans/ScanDetail.svelte index d6553d58..f054dad5 100644 --- a/src/components/scans/ScanDetail.svelte +++ b/src/components/scans/ScanDetail.svelte @@ -29,13 +29,14 @@ (data) => { data_loaded = true; original_data = Object.assign(original_data, data); + original_data.runner = original_data.runner.id; editable = Object.assign(editable, original_data); RunnerService.runnerControllerGetAll().then( (val) => { current_runners = val.map((r) => { return { label: getRunnerLabel(r), value: r }; }); - runner = current_runners.find(r => r.value.id == editable.runner.id); + runner = current_runners.find(r => r.value.id == editable.runner); } ); } @@ -55,7 +56,6 @@ let postdata = {}; if (original_data.responseType === "TRACKSCAN") { postdata = Object.assign(postdata, editable); - postdata.runner = postdata.runner.id; postdata.track = postdata.track.id; ScanService.scanControllerPutTrackScan(original_data.id, postdata) .then((resp) => { @@ -70,7 +70,6 @@ .catch((err) => {}); } else { postdata = Object.assign(postdata, editable); - postdata.runner = postdata.runner.id; ScanService.scanControllerPut(original_data.id, postdata) .then((resp) => { Object.assign(original_data, editable); @@ -153,9 +152,9 @@
    - {original_data.runner.firstname} - {original_data.runner.middlename || ''} - {original_data.runner.lastname} + {runner.value?.firstname} + {runner.value?.middlename || ''} + {runner.value?.lastname} #{original_data.id} {#if store.state.jwtinfo.userdetails.permissions.includes('SCAN:DELETE')} @@ -235,7 +234,7 @@ noOptionsMessage={$_('no-runners-found')} bind:selectedValue={runner} on:select={(selectedValue) => { - editable.runner = selectedValue.detail.value; + editable.runner = selectedValue.detail.value.id; }} on:clear={() => (editable.runner = null)} />
    From 7521ad8bbbb094bbe9ba723d03b3e9eb7f6a3243 Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Thu, 18 Mar 2021 17:53:53 +0000 Subject: [PATCH 104/144] 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 936e445c..5a63e467 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.4.5","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":"Keyang Xiang ","repo":{"type":"git","url":"https://github.com/Keyang/node-csvtojson.git"},"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":"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":"git://github.com/localForage/localForage.git"},"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":"John-David Dalton (http://allyoucanleet.com/)","repo":"lodash/lodash","description":"The Lodash method `_.isEqual` exported as a module.","name":"lodash.isequal","license":"MIT","version":"4.5.0","licensetext":"Copyright JS Foundation and other contributors \n\nBased on Underscore.js, copyright Jeremy Ashkenas,\nDocumentCloud and Investigative Reporters & Editors \n\nThis software consists of voluntary contributions made by many\nindividuals. For exact contribution history, see the revision history\navailable at https://github.com/lodash/lodash\n\nThe following license applies to all parts of this software except as\ndocumented below:\n\n====\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\n====\n\nCopyright and related rights for sample code are waived via CC0. Sample\ncode is defined as all source code displayed within the prose of the\ndocumentation.\n\nCC0: http://creativecommons.org/publicdomain/zero/1.0/\n\n====\n\nFiles located in the node_modules and vendor directories are externally\nmaintained libraries used by this software which have their own\nlicenses; we recommend you read them, as their terms may differ from the\nterms above.\n"},{"author":"Christopher Jeffrey","repo":"git://github.com/markedjs/marked.git","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":{"name":"Greg Larrenaga","url":"https://github.com/Duder-onomy"},"repo":"github: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":"https://github.com/kaisermann/svelte-i18n","description":"Internationalization library for Svelte","name":"svelte-i18n","license":"MIT","version":"3.3.2","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":"https://rob-balfre@github.com/rob-balfre/svelte-select.git","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"},{"repo":"https://github.com/tailwindlabs/tailwindcss.git","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":"git+https://github.com/AlexxNB/tinro.git"},"description":"tinro is a tiny declarative router for Svelte","name":"tinro","license":"MIT","version":"0.5.12","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":"git+https://github.com/apvarun/toastify-js.git"},"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.git"},"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":"git://github.com/SheetJS/sheetjs.git"},"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.10","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"},{"repo":{"type":"git","url":"https://github.com/snowpackjs/snowpack.git","directory":"plugins/plugin-svelte"},"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.git"},"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":"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.4","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.git"},"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":"postcss/postcss","description":"Tool for transforming styles with JS plugins","name":"postcss","license":"MIT","version":"8.2.6","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":"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":{"email":"lars@webpro.nl","name":"Lars Kappert"},"repo":{"type":"git","url":"https://github.com/release-it/release-it.git"},"description":"Generic CLI tool to automate versioning and package publishing related tasks.","name":"release-it","license":"MIT","version":"14.4.1","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.git"},"description":"The ESM-powered frontend build tool. Fast, lightweight, unbundled.","name":"snowpack","license":"MIT","version":"3.0.11","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.git"},"description":"Cybernetically enhanced web apps","name":"svelte","license":"MIT","version":"3.32.3","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":"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.8","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":"googlechrome/workbox","description":"workbox-cli is the command line interface for Workbox.","name":"workbox-cli","license":"MIT","version":"6.1.0","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 From e4b80c9ab34d31ec31df55904eacfac2c8728b10 Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Thu, 18 Mar 2021 19:52:54 +0100 Subject: [PATCH 105/144] =?UTF-8?q?Translated=20missing=20german=20stuff?= =?UTF-8?q?=20=F0=9F=8C=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ref #99 --- src/locales/de.json | 663 +++++++++++++++++++++++--------------------- 1 file changed, 342 insertions(+), 321 deletions(-) diff --git a/src/locales/de.json b/src/locales/de.json index 2ce5a0b8..19d1f5da 100644 --- a/src/locales/de.json +++ b/src/locales/de.json @@ -1,322 +1,343 @@ { - "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-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", - "address": "Adresse", - "address-is-required": "Du musst eine Adresse angeben", - "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-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.", - "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-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", - "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-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", - "dashboard-greeting": "Moin", - "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-runner": "LΓ€ufer:in lΓΆschen", - "delete-team": "Team LΓΆschen", - "delete-user": "Benutzer:in lΓΆschen", - "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)", - "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?", - "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", - "english": "Englisch", - "error_on_login": "😒Fehler beim Login", - "erteilte": "Direkt erteilte", - "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", - "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", - "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-mail-reset": "Das ist keine gΓΌltige E-Mail", - "laeufer-hinzufuegen": "LΓ€ufer:in hinzufΓΌgen", - "laeufer-importieren": "LΓ€ufer:innen importieren", - "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-runners": "LΓ€ufer:innen werden geladen...", - "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-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!", - "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-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-picture": "Profilbild", - "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", - "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", - "something-about-the-group": "Infos zur Gruppe", - "stats-are-being-loaded": "Die Statistiken werden geladen...", - "status": "Status", - "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...", - "there-are-no-contacts-added-yet": "Es wurden noch keine Kontakte hinzugefΓΌgt.", - "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-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", - "total-distance": "gelaufene Strecke", - "total-donation-amount": "Gesamtbetrag", - "total-donations": "Spendensumme", - "total-scans": "gesamte Scans", - "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", - "updated-contact": "Kontakt aktualisiert!", - "updated-donor": "Sponsor:in wurde aktualisiert", - "updated-organization": "Organisation 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...", - "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-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 πŸ‘‹", - "you-can-now-use-your-new-password-to-log-in-to-your-account": "Du kannst dich jetzt mit deinem neuen Passwort anmelden! πŸŽ‰", - "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-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", + "address": "Adresse", + "address-is-required": "Du musst eine Adresse angeben", + "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-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.", + "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-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", + "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-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", + "dashboard-greeting": "Moin", + "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-runner": "LΓ€ufer:in lΓΆschen", + "delete-team": "Team LΓΆschen", + "delete-user": "Benutzer:in lΓΆschen", + "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)", + "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?", + "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", + "english": "Englisch", + "error_on_login": "😒Fehler beim Login", + "erteilte": "Direkt erteilte", + "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", + "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", + "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-mail-reset": "Das ist keine gΓΌltige E-Mail", + "laeufer-hinzufuegen": "LΓ€ufer:in hinzufΓΌgen", + "laeufer-importieren": "LΓ€ufer:innen importieren", + "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-runners": "LΓ€ufer:innen werden geladen...", + "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-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!", + "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-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-picture": "Profilbild", + "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", + "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", + "something-about-the-group": "Infos zur Gruppe", + "stats-are-being-loaded": "Die Statistiken werden geladen...", + "status": "Status", + "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...", + "there-are-no-contacts-added-yet": "Es wurden noch keine Kontakte hinzugefΓΌgt.", + "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-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", + "total-distance": "gelaufene Strecke", + "total-donation-amount": "Gesamtbetrag", + "total-donations": "Spendensumme", + "total-scans": "gesamte Scans", + "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", + "updated-contact": "Kontakt aktualisiert!", + "updated-donor": "Sponsor:in wurde aktualisiert", + "updated-organization": "Organisation 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...", + "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-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 πŸ‘‹", + "you-can-now-use-your-new-password-to-log-in-to-your-account": "Du kannst dich jetzt mit deinem neuen Passwort anmelden! πŸŽ‰", + "you-have-to-provide-an-organization": "Du musst eine Organisation angeben", + "zip-postal-code": "Postleitzahl", + "add-scan": "Scan erstellen", + "add-your-fist-scan": "FΓΌge deinene ersten Scan hinzu", + "adding-scan": "Scan wird hinzugefΓΌgt", + "create-a-new-scan-fixed-only": "Neuen Scan erstellen (nur mit Festdistanz)", + "delete-scan": "Scan lΓΆschen", + "deleted-scan": "Scan wurde gelΓΆscht", + "distance-track": "Distanz (+Track)", + "first-scan-of-the-day": "Erster Scan des Tages", + "invalid": "UngΓΌltig", + "laptime": "Rundenzeit", + "please-provide-the-nessecary-information-to-create-a-new-scan": "Bitte gebe alle notwendigen Informationen an, um einen neuen Scan zu erstellen.", + "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", + "the-scans-distance-must-be-greater-than-0m": "Die Distanz muss grâßer als 0m sein.", + "there-are-no-scans-yet": "Es gibt noch keine scans", + "track": "Track", + "updated-scan": "Scan wurde aktualisiert", + "valid": "GΓΌltig" +} From 6109996adeec808847a72691a9cc3f174285612e Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Thu, 18 Mar 2021 20:04:54 +0100 Subject: [PATCH 106/144] Added missing language keys ref #99 --- src/components/scans/AddScanModal.svelte | 2 +- src/locales/en.json | 12 +++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/components/scans/AddScanModal.svelte b/src/components/scans/AddScanModal.svelte index 58b45df7..bebf05c2 100644 --- a/src/components/scans/AddScanModal.svelte +++ b/src/components/scans/AddScanModal.svelte @@ -144,7 +144,7 @@ + {$_('distance')}
    Date: Thu, 18 Mar 2021 20:07:06 +0100 Subject: [PATCH 107/144] Added german translations for the new keys ref #99 --- src/locales/de.json | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/locales/de.json b/src/locales/de.json index 19d1f5da..f5d074d9 100644 --- a/src/locales/de.json +++ b/src/locales/de.json @@ -339,5 +339,15 @@ "there-are-no-scans-yet": "Es gibt noch keine scans", "track": "Track", "updated-scan": "Scan wurde aktualisiert", - "valid": "GΓΌltig" + "valid": "GΓΌltig", + "create-a-new-scanstation": "Neue Station erstellen", + "delete-station": "Station lΓΆschen", + "enabled": "aktiviert", + "groups-are-being-loaded": "Gruppen werden geladen", + "loading-group-detail": "Lade Gruppendetails...", + "loading-station-details": "Lade Scanstation-Details ...", + "scanstation": "Scanner Station", + "scanstations": "Scanner Stationen", + "scanstations-are-being-loaded": "Scannerstationen werden geladen...", + "this-scanstation-is": "Diese Station ist" } From 5f6ee33e2bcabc007bba340ef51bc28f707aa58d Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Thu, 18 Mar 2021 20:07:35 +0100 Subject: [PATCH 108/144] =?UTF-8?q?Sorted=20translations=20=F0=9F=8C=8E?= =?UTF-8?q?=F0=9F=8C=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ref #99 --- src/locales/de.json | 704 ++++++++++++++++++++++---------------------- src/locales/en.json | 22 +- 2 files changed, 363 insertions(+), 363 deletions(-) diff --git a/src/locales/de.json b/src/locales/de.json index f5d074d9..6f81c3a3 100644 --- a/src/locales/de.json +++ b/src/locales/de.json @@ -1,353 +1,353 @@ { - "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-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", - "address": "Adresse", - "address-is-required": "Du musst eine Adresse angeben", - "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-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.", - "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-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", - "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-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", - "dashboard-greeting": "Moin", - "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-runner": "LΓ€ufer:in lΓΆschen", - "delete-team": "Team LΓΆschen", - "delete-user": "Benutzer:in lΓΆschen", - "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)", - "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?", - "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", - "english": "Englisch", - "error_on_login": "😒Fehler beim Login", - "erteilte": "Direkt erteilte", - "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", - "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", - "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-mail-reset": "Das ist keine gΓΌltige E-Mail", - "laeufer-hinzufuegen": "LΓ€ufer:in hinzufΓΌgen", - "laeufer-importieren": "LΓ€ufer:innen importieren", - "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-runners": "LΓ€ufer:innen werden geladen...", - "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-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!", - "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-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-picture": "Profilbild", - "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", - "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", - "something-about-the-group": "Infos zur Gruppe", - "stats-are-being-loaded": "Die Statistiken werden geladen...", - "status": "Status", - "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...", - "there-are-no-contacts-added-yet": "Es wurden noch keine Kontakte hinzugefΓΌgt.", - "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-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", - "total-distance": "gelaufene Strecke", - "total-donation-amount": "Gesamtbetrag", - "total-donations": "Spendensumme", - "total-scans": "gesamte Scans", - "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", - "updated-contact": "Kontakt aktualisiert!", - "updated-donor": "Sponsor:in wurde aktualisiert", - "updated-organization": "Organisation 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...", - "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-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 πŸ‘‹", - "you-can-now-use-your-new-password-to-log-in-to-your-account": "Du kannst dich jetzt mit deinem neuen Passwort anmelden! πŸŽ‰", - "you-have-to-provide-an-organization": "Du musst eine Organisation angeben", - "zip-postal-code": "Postleitzahl", - "add-scan": "Scan erstellen", - "add-your-fist-scan": "FΓΌge deinene ersten Scan hinzu", - "adding-scan": "Scan wird hinzugefΓΌgt", - "create-a-new-scan-fixed-only": "Neuen Scan erstellen (nur mit Festdistanz)", - "delete-scan": "Scan lΓΆschen", - "deleted-scan": "Scan wurde gelΓΆscht", - "distance-track": "Distanz (+Track)", - "first-scan-of-the-day": "Erster Scan des Tages", - "invalid": "UngΓΌltig", - "laptime": "Rundenzeit", - "please-provide-the-nessecary-information-to-create-a-new-scan": "Bitte gebe alle notwendigen Informationen an, um einen neuen Scan zu erstellen.", - "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", - "the-scans-distance-must-be-greater-than-0m": "Die Distanz muss grâßer als 0m sein.", - "there-are-no-scans-yet": "Es gibt noch keine scans", - "track": "Track", - "updated-scan": "Scan wurde aktualisiert", - "valid": "GΓΌltig", - "create-a-new-scanstation": "Neue Station erstellen", - "delete-station": "Station lΓΆschen", - "enabled": "aktiviert", - "groups-are-being-loaded": "Gruppen werden geladen", - "loading-group-detail": "Lade Gruppendetails...", - "loading-station-details": "Lade Scanstation-Details ...", - "scanstation": "Scanner Station", - "scanstations": "Scanner Stationen", - "scanstations-are-being-loaded": "Scannerstationen werden geladen...", - "this-scanstation-is": "Diese Station ist" -} + "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-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-scan": "FΓΌge deinene ersten Scan hinzu", + "adding-scan": "Scan wird hinzugefΓΌgt", + "address": "Adresse", + "address-is-required": "Du musst eine Adresse angeben", + "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-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.", + "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-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", + "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", + "dashboard-greeting": "Moin", + "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-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-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?", + "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-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-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-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!", + "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-picture": "Profilbild", + "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", + "something-about-the-group": "Infos zur Gruppe", + "stats-are-being-loaded": "Die Statistiken werden geladen...", + "status": "Status", + "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-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", + "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...", + "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 πŸ‘‹", + "you-can-now-use-your-new-password-to-log-in-to-your-account": "Du kannst dich jetzt mit deinem neuen Passwort anmelden! πŸŽ‰", + "you-have-to-provide-an-organization": "Du musst eine Organisation angeben", + "zip-postal-code": "Postleitzahl" +} \ No newline at end of file diff --git a/src/locales/en.json b/src/locales/en.json index 2cc5043b..fdb82627 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -64,6 +64,7 @@ "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", @@ -103,6 +104,7 @@ "delete-organization": "Delete Organization", "delete-runner": "Delete Runner", "delete-scan": "Delete scan", + "delete-station": "Delete station", "delete-team": "Delete Team", "delete-user": "Delete User", "deleted-scan": "Deleted scan", @@ -135,6 +137,7 @@ "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", @@ -164,6 +167,7 @@ "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", @@ -187,7 +191,9 @@ "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-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...", @@ -271,6 +277,9 @@ "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)", @@ -302,6 +311,7 @@ "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", @@ -339,15 +349,5 @@ "welcome_wavinghand": "Welcome πŸ‘‹", "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-have-to-provide-an-organization": "You have to provide an organization", - "zip-postal-code": "ZIP/ postal code", - "scanstations": "Scanstations", - "groups-are-being-loaded": "Groups are being loaded", - "loading-group-detail": "Loading group detail...", - "create-a-new-scanstation": "Create a new station", - "scanstations-are-being-loaded": "Loading scanstations...", - "loading-station-details": "Loading station details", - "scanstation": "Scanstation", - "this-scanstation-is": "This scanstation is", - "delete-station": "Delete station", - "enabled": "enabled" + "zip-postal-code": "ZIP/ postal code" } \ No newline at end of file From f09224d5c02a2c2d2f1ac221314d2c22758143ba Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Thu, 18 Mar 2021 20:10:09 +0100 Subject: [PATCH 109/144] =?UTF-8?q?Removed=20lodash=20as=20a=20dependency?= =?UTF-8?q?=20=F0=9F=97=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ref #99 --- package.json | 1 - src/components/groups/GroupDetail.svelte | 3 +-- src/components/users/UserDetail.svelte | 3 +-- 3 files changed, 2 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 28539e79..57e26077 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,6 @@ "csvtojson": "^2.0.10", "gridjs": "3.3.0", "localforage": "1.9.0", - "lodash.isequal": "^4.5.0", "marked": "^2.0.0", "svelte-focus-trap": "1.0.1", "svelte-i18n": "3.3.2", diff --git a/src/components/groups/GroupDetail.svelte b/src/components/groups/GroupDetail.svelte index 414790fb..49a67bf4 100644 --- a/src/components/groups/GroupDetail.svelte +++ b/src/components/groups/GroupDetail.svelte @@ -1,6 +1,5 @@ - - - + + + + + + + + + + + + Lauf fΓΌr Kaya! - Admin + __TAILWIND_INSERT__ + + + + + + + + + \ No newline at end of file diff --git a/package.json b/package.json index ff92fe80..19e3ebc3 100644 --- a/package.json +++ b/package.json @@ -1,61 +1,61 @@ -{ - "name": "@odit/lfk-frontend", - "version": "0.6.0", - "scripts": { - "i18n-order": "node order.js", - "dev:all": "yarn prebuild && snowpack dev", - "dev": "cross-env NODE_ENV_ODIT=development_fast node template-copy.js && yarn build:sw && snowpack dev", - "build": "yarn prebuild && snowpack build", - "prebuild": "cross-env NODE_ENV_ODIT=production node template-copy.js && yarn build:sw", - "build:sw": "workbox generateSW workbox-config.js", - "release": "release-it", - "licenses:export": "license-exporter --json -o public" - }, - "license": "CC-BY-NC-SA-4.0", - "dependencies": { - "@odit/lfk-client-js": "0.6.3", - "csvtojson": "^2.0.10", - "gridjs": "3.3.0", - "localforage": "1.9.0", - "marked": "^2.0.1", - "svelte-focus-trap": "1.0.1", - "svelte-i18n": "3.3.7", - "svelte-select": "^3.17.0", - "tailwindcss": "2.0.3", - "tinro": "0.6.1", - "toastify-js": "1.9.3", - "validator": "13.5.2", - "xlsx": "^0.16.9" - }, - "devDependencies": { - "@odit/license-exporter": "^0.0.11", - "@snowpack/plugin-svelte": "3.5.2", - "auto-changelog": "^2.2.1", - "autoprefixer": "10.2.5", - "cross-env": "^7.0.3", - "postcss": "8.2.8", - "postcss-load-config": "3.0.1", - "release-it": "^14.4.1", - "snowpack": "3.0.13", - "svelte": "3.35.0", - "svelte-preprocess": "4.6.9", - "workbox-cli": "6.1.2" - }, - "release-it": { - "git": { - "commit": true, - "requireCleanWorkingDir": false, - "commitMessage": "πŸš€RELEASE v${version}", - "push": false, - "tag": true, - "tagName": null, - "tagAnnotation": "v${version}" - }, - "npm": { - "publish": false - }, - "hooks": { - "after:bump": "npx auto-changelog --commit-limit false -p -u --hide-credit && git add CHANGELOG.md && node versionbuilder.js && git add index.template.html && node order.js && git add src/locales" - } - } -} +{ + "name": "@odit/lfk-frontend", + "version": "0.7.0", + "scripts": { + "i18n-order": "node order.js", + "dev:all": "yarn prebuild && snowpack dev", + "dev": "cross-env NODE_ENV_ODIT=development_fast node template-copy.js && yarn build:sw && snowpack dev", + "build": "yarn prebuild && snowpack build", + "prebuild": "cross-env NODE_ENV_ODIT=production node template-copy.js && yarn build:sw", + "build:sw": "workbox generateSW workbox-config.js", + "release": "release-it", + "licenses:export": "license-exporter --json -o public" + }, + "license": "CC-BY-NC-SA-4.0", + "dependencies": { + "@odit/lfk-client-js": "0.6.3", + "csvtojson": "^2.0.10", + "gridjs": "3.3.0", + "localforage": "1.9.0", + "marked": "^2.0.1", + "svelte-focus-trap": "1.0.1", + "svelte-i18n": "3.3.7", + "svelte-select": "^3.17.0", + "tailwindcss": "2.0.3", + "tinro": "0.6.1", + "toastify-js": "1.9.3", + "validator": "13.5.2", + "xlsx": "^0.16.9" + }, + "devDependencies": { + "@odit/license-exporter": "^0.0.11", + "@snowpack/plugin-svelte": "3.5.2", + "auto-changelog": "^2.2.1", + "autoprefixer": "10.2.5", + "cross-env": "^7.0.3", + "postcss": "8.2.8", + "postcss-load-config": "3.0.1", + "release-it": "^14.4.1", + "snowpack": "3.0.13", + "svelte": "3.35.0", + "svelte-preprocess": "4.6.9", + "workbox-cli": "6.1.2" + }, + "release-it": { + "git": { + "commit": true, + "requireCleanWorkingDir": false, + "commitMessage": "πŸš€RELEASE v${version}", + "push": false, + "tag": true, + "tagName": null, + "tagAnnotation": "v${version}" + }, + "npm": { + "publish": false + }, + "hooks": { + "after:bump": "npx auto-changelog --commit-limit false -p -u --hide-credit && git add CHANGELOG.md && node versionbuilder.js && git add index.template.html && node order.js && git add src/locales" + } + } +} diff --git a/src/components/groups/GroupDetail.svelte b/src/components/groups/GroupDetail.svelte index 49a67bf4..a37acead 100644 --- a/src/components/groups/GroupDetail.svelte +++ b/src/components/groups/GroupDetail.svelte @@ -1,220 +1,220 @@ - - -{#await promise} - {$_('loading-group-detail')} -{:then} -
    -
    -
    - -
    -
    -
    - {original_data.name} - - {#if store.state.jwtinfo.userdetails.permissions.includes('USERGROUP:DELETE')} - {#if delete_triggered} - - - {/if} - {#if !delete_triggered} - - {/if} - {/if} - {#if !delete_triggered} - - {/if} - -
    - -
    - - - {#if !isGroupnameValid} - - {$_('group-name-is-required')} - - {/if} -
    -
    - - -
    -
    -

    - {$_('permissions')} - {$_('edit-permissions')} -

    -
    - -
    - {#each original_data.permissions as p} - {#if p.toLowerCase().includes(search_permission.toLowerCase())} - {p} - - {/if} - {/each} -
    -
    -{:catch error} - -{/await} + + +{#await promise} + {$_('loading-group-detail')} +{:then} +
    +
    +
    + +
    +
    +
    + {original_data.name} + + {#if store.state.jwtinfo.userdetails.permissions.includes('USERGROUP:DELETE')} + {#if delete_triggered} + + + {/if} + {#if !delete_triggered} + + {/if} + {/if} + {#if !delete_triggered} + + {/if} + +
    + +
    + + + {#if !isGroupnameValid} + + {$_('group-name-is-required')} + + {/if} +
    +
    + + +
    +
    +

    + {$_('permissions')} + {$_('edit-permissions')} +

    +
    + +
    + {#each original_data.permissions as p} + {#if p.toLowerCase().includes(search_permission.toLowerCase())} + {p} + + {/if} + {/each} +
    +
    +{:catch error} + +{/await} diff --git a/src/components/scans/AddScanModal.svelte b/src/components/scans/AddScanModal.svelte index bebf05c2..1275d286 100644 --- a/src/components/scans/AddScanModal.svelte +++ b/src/components/scans/AddScanModal.svelte @@ -1,195 +1,195 @@ - - -{#if modal_open} -
    { - modal_open = false; - }}> -
    - -
    -
    -{/if} + + +{#if modal_open} +
    { + modal_open = false; + }}> +
    + +
    +
    +{/if} diff --git a/src/components/users/UserDetail.svelte b/src/components/users/UserDetail.svelte index a13e4f89..83da56f7 100644 --- a/src/components/users/UserDetail.svelte +++ b/src/components/users/UserDetail.svelte @@ -1,326 +1,326 @@ - - -{#await user_promise} - -{:then user} -
    -
    -
    - -
    -
    -
    - {original_data.firstname} - {original_data.middlename || ''} - {original_data.lastname} - - {#if store.state.jwtinfo.userdetails.permissions.includes('USER:DELETE')} - {#if delete_triggered} - - - {/if} - {#if !delete_triggered} - - {/if} - {/if} - {#if !delete_triggered} - - {/if} - -
    -
    -

    {$_('profile-picture')}

    - {$_('profile-picture')} -
    -
    - -
    -

    - { - editable_userdata.enabled = !editable_userdata.enabled; - }} - name="enabled" - type="checkbox" - checked={editable_userdata.enabled} - class="focus:ring-indigo-500 h-4 w-4 text-indigo-600 border-gray-300 rounded" /> - {$_('set-the-user-active-inactive')} -

    -
    -
    - - -
    -
    - - -
    -
    - - -
    -
    - - -
    - {#if !isEmail(editable_userdata.email)} - {$_('valid-email-is-required')} - {/if} -
    - - -
    -
    - {$_('groups')} - - -
    -
    -

    - {$_('permissions')} - {$_('edit-permissions')} -

    -
    - -
    - {#each original_data.permissions as p} - {#if p.toLowerCase().includes(search_permission.toLowerCase())} - {p} - - {/if} - {/each} -
    -
    -{:catch error} - -{/await} + + +{#await user_promise} + +{:then user} +
    +
    +
    + +
    +
    +
    + {original_data.firstname} + {original_data.middlename || ''} + {original_data.lastname} + + {#if store.state.jwtinfo.userdetails.permissions.includes('USER:DELETE')} + {#if delete_triggered} + + + {/if} + {#if !delete_triggered} + + {/if} + {/if} + {#if !delete_triggered} + + {/if} + +
    +
    +

    {$_('profile-picture')}

    + {$_('profile-picture')} +
    +
    + +
    +

    + { + editable_userdata.enabled = !editable_userdata.enabled; + }} + name="enabled" + type="checkbox" + checked={editable_userdata.enabled} + class="focus:ring-indigo-500 h-4 w-4 text-indigo-600 border-gray-300 rounded" /> + {$_('set-the-user-active-inactive')} +

    +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + +
    + {#if !isEmail(editable_userdata.email)} + {$_('valid-email-is-required')} + {/if} +
    + + +
    +
    + {$_('groups')} + + +
    +
    +

    + {$_('permissions')} + {$_('edit-permissions')} +

    +
    + +
    + {#each original_data.permissions as p} + {#if p.toLowerCase().includes(search_permission.toLowerCase())} + {p} + + {/if} + {/each} +
    +
    +{:catch error} + +{/await} From 016fba527910b95eb2690207bbede91004d2f2d9 Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Fri, 19 Mar 2021 16:43:39 +0100 Subject: [PATCH 118/144] Moved settings to their own folder ref #103 --- src/App.svelte | 2 +- src/components/{general => settings}/Settings.svelte | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename src/components/{general => settings}/Settings.svelte (100%) diff --git a/src/App.svelte b/src/App.svelte index 335b2a7f..5b78d33f 100644 --- a/src/App.svelte +++ b/src/App.svelte @@ -42,7 +42,7 @@ import MainDashContent from "./components/dashboard/MainDashContent.svelte"; import Users from "./components/users/Users.svelte"; import About from "./components/general/About.svelte"; - import Settings from "./components/general/Settings.svelte"; + import Settings from "./components/settings/Settings.svelte"; import Transition from "./components/base/Transition.svelte"; import Orgs from "./components/orgs/Orgs.svelte"; import Runners from "./components/runners/Runners.svelte"; diff --git a/src/components/general/Settings.svelte b/src/components/settings/Settings.svelte similarity index 100% rename from src/components/general/Settings.svelte rename to src/components/settings/Settings.svelte From 01eba88adfd7cced75e828427494cb99fdf01d70 Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Fri, 19 Mar 2021 16:45:09 +0100 Subject: [PATCH 119/144] Translated headers ref #103 --- src/components/settings/Settings.svelte | 2 +- src/locales/de.json | 707 ++++++++++++------------ src/locales/en.json | 707 ++++++++++++------------ 3 files changed, 709 insertions(+), 707 deletions(-) diff --git a/src/components/settings/Settings.svelte b/src/components/settings/Settings.svelte index f911d855..42fd8aa2 100644 --- a/src/components/settings/Settings.svelte +++ b/src/components/settings/Settings.svelte @@ -11,7 +11,7 @@

    - configure your profile however you want + {$_('settings-for-your-profile')}

    diff --git a/src/locales/de.json b/src/locales/de.json index b76856db..9bc3c022 100644 --- a/src/locales/de.json +++ b/src/locales/de.json @@ -1,354 +1,355 @@ { - "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-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-scan": "FΓΌge deinene ersten Scan hinzu", - "adding-scan": "Scan wird hinzugefΓΌgt", - "address": "Adresse", - "address-is-required": "Du musst eine Adresse angeben", - "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-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.", - "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-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", - "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", - "dashboard-greeting": "Moin", - "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-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-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?", - "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-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-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-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!", - "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-picture": "Profilbild", - "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", - "something-about-the-group": "Infos zur Gruppe", - "stats-are-being-loaded": "Die Statistiken werden geladen...", - "status": "Status", - "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-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", - "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...", - "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-can-now-use-your-new-password-to-log-in-to-your-account": "Du kannst dich jetzt mit deinem neuen Passwort anmelden! πŸŽ‰", - "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-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-scan": "FΓΌge deinene ersten Scan hinzu", + "adding-scan": "Scan wird hinzugefΓΌgt", + "address": "Adresse", + "address-is-required": "Du musst eine Adresse angeben", + "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-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.", + "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-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", + "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", + "dashboard-greeting": "Moin", + "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-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-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?", + "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-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-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-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!", + "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-picture": "Profilbild", + "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", + "something-about-the-group": "Infos zur Gruppe", + "stats-are-being-loaded": "Die Statistiken werden geladen...", + "status": "Status", + "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-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", + "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...", + "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-can-now-use-your-new-password-to-log-in-to-your-account": "Du kannst dich jetzt mit deinem neuen Passwort anmelden! πŸŽ‰", + "you-have-to-provide-an-organization": "Du musst eine Organisation angeben", + "zip-postal-code": "Postleitzahl", + "settings-for-your-profile": "Die Einstellungen deines Accounts" +} diff --git a/src/locales/en.json b/src/locales/en.json index 4c53be67..69998922 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -1,354 +1,355 @@ { - "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-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-scan": "Add your fist scan", - "adding-scan": "Adding Scan", - "address": "Address", - "address-is-required": "Address is required", - "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-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", - "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-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", - "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", - "dashboard-greeting": "hello there", - "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-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-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", - "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-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-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-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!", - "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-picture": "Profile Picture", - "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", - "something-about-the-group": "Something about the group...", - "stats-are-being-loaded": "stats are being loaded...", - "status": "Status", - "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-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", - "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...", - "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-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-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-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-scan": "Add your fist scan", + "adding-scan": "Adding Scan", + "address": "Address", + "address-is-required": "Address is required", + "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-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", + "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-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", + "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", + "dashboard-greeting": "hello there", + "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-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-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", + "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-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-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-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!", + "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-picture": "Profile Picture", + "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", + "something-about-the-group": "Something about the group...", + "stats-are-being-loaded": "stats are being loaded...", + "status": "Status", + "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-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", + "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...", + "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-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-have-to-provide-an-organization": "You have to provide an organization", + "zip-postal-code": "ZIP/ postal code", + "settings-for-your-profile": "Settings for your profile" +} From e459bb04cc3fcdc5d176e53b764ad3e995d66762 Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Fri, 19 Mar 2021 17:17:57 +0100 Subject: [PATCH 120/144] The settings page now boasts your profile picture ref #103 --- src/components/settings/Settings.svelte | 70 +++++++++++++++++++------ src/locales/de.json | 4 +- src/locales/en.json | 4 +- 3 files changed, 59 insertions(+), 19 deletions(-) diff --git a/src/components/settings/Settings.svelte b/src/components/settings/Settings.svelte index 42fd8aa2..75397572 100644 --- a/src/components/settings/Settings.svelte +++ b/src/components/settings/Settings.svelte @@ -1,6 +1,12 @@
    @@ -9,27 +15,57 @@ class="mt-9 font-display text-4xl leading-none font-semibold text-white sm:text-5xl lg:text-6xl"> πŸ”¨
    {$_('settings')} -

    - {$_('settings-for-your-profile')} -

    - -
    -

    - Lorem ipsum dolor sit amet consectetur, adipisicing elit. Temporibus et - amet voluptate nulla accusantium vero blanditiis nobis facere veritatis. - Impedit deserunt saepe aliquid unde consequuntur officia consequatur - fugit iusto dolorem? -

    +
    +
    +
    +
    +

    + {$_('profile')} +

    +

    + {$_('everything-concerning-your-profile')} +

    +
    +
    +
    +
    +
    +
    + + +
    + + {$_('profile-picture')} + + +
    +
    +
    +
    + +
    +
    +
    +
    -
    diff --git a/src/locales/de.json b/src/locales/de.json index 9bc3c022..52c1e4d7 100644 --- a/src/locales/de.json +++ b/src/locales/de.json @@ -351,5 +351,7 @@ "you-can-now-use-your-new-password-to-log-in-to-your-account": "Du kannst dich jetzt mit deinem neuen Passwort anmelden! πŸŽ‰", "you-have-to-provide-an-organization": "Du musst eine Organisation angeben", "zip-postal-code": "Postleitzahl", - "settings-for-your-profile": "Die Einstellungen deines Accounts" + "settings-for-your-profile": "Die Einstellungen deines Accounts", + "profile": "Profil", + "everything-concerning-your-profile": "Alles zu deinem Profil" } diff --git a/src/locales/en.json b/src/locales/en.json index 69998922..856ca571 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -351,5 +351,7 @@ "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-have-to-provide-an-organization": "You have to provide an organization", "zip-postal-code": "ZIP/ postal code", - "settings-for-your-profile": "Settings for your profile" + "settings-for-your-profile": "Settings for your profile", + "profile": "Profile", + "everything-concerning-your-profile": "Everything concerning your profile" } From 37bc5ff17b8f97dfc76962435f9cb64156848c82 Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Fri, 19 Mar 2021 17:31:45 +0100 Subject: [PATCH 121/144] Implemented change detection ref #103 --- src/components/settings/Settings.svelte | 127 +++++++++++++++++++----- 1 file changed, 101 insertions(+), 26 deletions(-) diff --git a/src/components/settings/Settings.svelte b/src/components/settings/Settings.svelte index 75397572..24d7499b 100644 --- a/src/components/settings/Settings.svelte +++ b/src/components/settings/Settings.svelte @@ -1,8 +1,13 @@
    @@ -57,7 +79,7 @@ {$_('profile-picture')} + src={editable.profilePic || 'https://lauf-fuer-kaya.de/lfk-logo.png'} />