feat: translate register page

This commit is contained in:
EETagent 2023-01-24 16:32:18 +01:00
parent 754c26646c
commit 02fff058fe
3 changed files with 264 additions and 37 deletions

View file

@ -29,12 +29,13 @@
let pageIndex = 0; let pageIndex = 0;
let pagesFilled = [false, false, false, false, false, false, false]; let pagesFilled = [false, false, false, false, false, false, false];
let pageTexts = [ let pageTexts = [
'Zpracování osobních údajů', $LL.candidate.register.second.title(),
'Registrace', $LL.candidate.register.third.title(),
'Něco o Vás', $LL.candidate.register.fourth.title(),
'Zákonný zástupce', $LL.candidate.register.fifth.title(),
'Druhý zákonný zástupce', $LL.candidate.register.sixth.title(),
'Poslední krok' $LL.candidate.register.seventh.title(),
$LL.candidate.register.eighth.title()
]; ];
export let data: PageData; export let data: PageData;
@ -414,7 +415,7 @@
] ]
}); });
pageIndex = 2; // skip gdpr page pageIndex = 2; // skip gdpr page
pageTexts[2] = 'Úprava osobních údajů'; pageTexts[2] = $LL.candidate.register.fourth.titleEdit();
} }
</script> </script>
@ -431,10 +432,9 @@
<form on:submit={handleSubmit} id="triggerForm" class="invisible hidden" /> <form on:submit={handleSubmit} id="triggerForm" class="invisible hidden" />
{#if pageIndex === 0} {#if pageIndex === 0}
<form on:submit={handleSubmit}> <form on:submit={handleSubmit}>
<h1 class="title mt-8">Propojení účtů</h1> <h1 class="title mt-8">{$LL.candidate.register.first.title()}</h1>
<p class="description mt-8 block text-center"> <p class="description mt-8 block text-center">
Elektronickou přihlášky stačí vyplnit jen jednou i v případě, že jste podali dvě {$LL.candidate.register.first.description()}
přihlášky. Potvrďte, že jste jste k nám skutečně podali dvě přihlášky.
</p> </p>
<div class="field"> <div class="field">
<AccountLinkCheckBox <AccountLinkCheckBox
@ -449,10 +449,8 @@
<form on:submit={handleSubmit}> <form on:submit={handleSubmit}>
<h1 class="title mt-8">{pageTexts[0]}</h1> <h1 class="title mt-8">{pageTexts[0]}</h1>
<p class="description mt-8 block text-center"> <p class="description mt-8 block text-center">
V rámci portálu pro přijímací řízení zpracováváme mnoho osobních údajů. Proto je nutný {$LL.candidate.register.second.description()}
Váš souhlas s jejich zpracováním. O bezpečnosti zpracování Vašich osobních údajů si <a href="/bezpecnost" class="text-sspsBlue underline"> {$LL.here()}</a>.
můžete přečíst
<a href="/bezpecnost" class="text-sspsBlue underline"> zde</a>.
</p> </p>
<div class="field"> <div class="field">
<GdprCheckBox bind:value={$form.gdpr} error={$typedErrors['gdpr']} /> <GdprCheckBox bind:value={$form.gdpr} error={$typedErrors['gdpr']} />
@ -462,8 +460,7 @@
<form on:submit={handleSubmit}> <form on:submit={handleSubmit}>
<h1 class="title mt-8">{pageTexts[1]}</h1> <h1 class="title mt-8">{pageTexts[1]}</h1>
<p class="description mt-8 block text-center"> <p class="description mt-8 block text-center">
V rámci usnadnění přijímacího řízení jsme připravili online formulář, který Vám pomůže s {$LL.candidate.register.third.description()}
vyplněním potřebných údajů.
</p> </p>
<div class="flex flex-col"> <div class="flex flex-col">
<span class="field"> <span class="field">
@ -471,21 +468,21 @@
error={$typedErrors['candidate']['name'] || $typedErrors['candidate']['surname']} error={$typedErrors['candidate']['name'] || $typedErrors['candidate']['surname']}
bind:valueName={$form.candidate.name} bind:valueName={$form.candidate.name}
bind:valueSurname={$form.candidate.surname} bind:valueSurname={$form.candidate.surname}
placeholder="{$LL.input.nameSurname()}" placeholder={$LL.input.nameSurname()}
/> />
</span> </span>
<span class="field"> <span class="field">
<EmailField <EmailField
error={$typedErrors['candidate']['email']} error={$typedErrors['candidate']['email']}
bind:value={$form.candidate.email} bind:value={$form.candidate.email}
placeholder="{$LL.input.email()}" placeholder={$LL.input.email()}
/> />
</span> </span>
<span class="field"> <span class="field">
<TelephoneField <TelephoneField
error={$typedErrors['candidate']['telephone']} error={$typedErrors['candidate']['telephone']}
bind:value={$form.candidate.telephone} bind:value={$form.candidate.telephone}
placeholder="{$LL.input.telephone()}" placeholder={$LL.input.telephone()}
/> />
</span> </span>
</div> </div>
@ -493,8 +490,7 @@
{:else if pageIndex === 3} {:else if pageIndex === 3}
<h1 class="title mt-8">{pageTexts[2]}</h1> <h1 class="title mt-8">{pageTexts[2]}</h1>
<p class="description mt-8 block text-center"> <p class="description mt-8 block text-center">
Pro registraci je potřeba vyplnit několik údajů o Vás. Tyto údaje budou použity pro {$LL.candidate.register.fourth.description()}
přijímací řízení. Všechny údaje jsou důležité.
</p> </p>
<div class="field flex"> <div class="field flex">
<span class="w-[66%]"> <span class="w-[66%]">
@ -563,7 +559,7 @@
{:else if pageIndex === 4} {:else if pageIndex === 4}
<h1 class="title mt-8">{pageTexts[3]}</h1> <h1 class="title mt-8">{pageTexts[3]}</h1>
<p class="description mt-8 block text-center"> <p class="description mt-8 block text-center">
Sběr dat o zákonném zástupci je klíčový pro získání důležitých kontaktů a informací. {$LL.candidate.register.fifth.description()}
</p> </p>
<div class="flex w-full flex-col"> <div class="flex w-full flex-col">
<span class="field"> <span class="field">
@ -592,7 +588,7 @@
{:else if pageIndex === 5} {:else if pageIndex === 5}
<h1 class="title mt-8">{pageTexts[4]}</h1> <h1 class="title mt-8">{pageTexts[4]}</h1>
<p class="description mt-8 block text-center"> <p class="description mt-8 block text-center">
Zde můžete zadat údaje o druhém zákonném zástupci. Škole tím umožníte lépe komunikovat. {$LL.candidate.register.sixth.description()}
</p> </p>
<div class="flex w-full flex-col"> <div class="flex w-full flex-col">
<span class="field"> <span class="field">
@ -621,8 +617,7 @@
{:else if pageIndex === 6} {:else if pageIndex === 6}
<h1 class="title mt-8">{pageTexts[5]}</h1> <h1 class="title mt-8">{pageTexts[5]}</h1>
<p class="description mt-8 block text-center"> <p class="description mt-8 block text-center">
Zadejte prosím své občanství, rodné číslo, či jeho alternativu Vaší země a obor na který {$LL.candidate.register.seventh.description()}
se hlásíte.
</p> </p>
<div class="flex w-full flex-col"> <div class="flex w-full flex-col">
<div class="field flex w-full"> <div class="field flex w-full">
@ -651,7 +646,7 @@
type="number" type="number"
bind:value={$form.candidate.schoolName} bind:value={$form.candidate.schoolName}
placeholder={$LL.input.schoolIzo()} placeholder={$LL.input.schoolIzo()}
/> />
{:else} {:else}
<TextField <TextField
error={$typedErrors['candidate']['schoolName']} error={$typedErrors['candidate']['schoolName']}
@ -668,7 +663,7 @@
type="text" type="text"
bind:value={$form.candidate.healthInsurance} bind:value={$form.candidate.healthInsurance}
placeholder={$LL.input.insuranceNumber()} placeholder={$LL.input.insuranceNumber()}
/> />
</span> </span>
</div> </div>
</div> </div>
@ -678,19 +673,19 @@
error={$typedErrors['candidate']['personalIdNumber']} error={$typedErrors['candidate']['personalIdNumber']}
bind:value={$form.candidate.personalIdNumber} bind:value={$form.candidate.personalIdNumber}
placeholder={$LL.input.personalIdentificationNumber()} placeholder={$LL.input.personalIdentificationNumber()}
/> />
{:else} {:else}
<TextField <TextField
error={$typedErrors['candidate']['personalIdNumber']} error={$typedErrors['candidate']['personalIdNumber']}
bind:value={$form.candidate.personalIdNumber} bind:value={$form.candidate.personalIdNumber}
placeholder={$LL.input.personalIdentificationNumber()} placeholder={$LL.input.personalIdentificationNumber()}
/> />
{/if} {/if}
</div> </div>
{:else if pageIndex === 7} {:else if pageIndex === 7}
<h1 class="title mt-8">{pageTexts[5]}</h1> <h1 class="title mt-8">{pageTexts[6]}</h1>
<p class="description mt-8 block text-center"> <p class="description mt-8 block text-center">
Přidejte prosím přepis Vaších známek z posledních dvou let studia {$LL.candidate.register.eighth.description()}
</p> </p>
<GradesTable <GradesTable
error={$typedErrors['candidate']['grades']} error={$typedErrors['candidate']['grades']}
@ -712,7 +707,7 @@
// @ts-ignore // @ts-ignore
errors.set(formInitialValues); errors.set(formInitialValues);
}} }}
value={pageIndex === pageCount ? 'Odeslat' : 'Pokračovat'} value={pageIndex === pageCount ? $LL.input.submit() : $LL.input.continue()}
/> />
</div> </div>

View file

@ -1,6 +1,7 @@
import type { BaseTranslation } from '../i18n-types.js'; import type { BaseTranslation } from '../i18n-types.js';
const cs: BaseTranslation = { const cs: BaseTranslation = {
here: 'zde',
admin: { admin: {
auth: { auth: {
login: { login: {
@ -23,6 +24,48 @@ const cs: BaseTranslation = {
here: 'zde' here: 'zde'
} }
} }
},
register: {
first: {
title: 'Propojení účtů',
description:
'Elektronickou přihlášky stačí vyplnit jen jednou i v případě, že jste podali dvě přihlášky. Potvrďte, že jste jste k nám skutečně podali dvě přihlášky.'
},
second: {
title: 'Zpracování osobních údajů',
description:
'V rámci portálu pro přijímací řízení zpracováváme mnoho osobních údajů. Proto je nutný Váš souhlas s jejich zpracováním. O bezpečnosti zpracování Vašich osobních údajů si můžete přečíst'
},
third: {
title: 'Registrace',
description:
'V rámci usnadnění přijímacího řízení jsme připravili online formulář, který Vám pomůže s vyplněním potřebných údajů.'
},
fourth: {
title: 'Něco o Vás',
titleEdit: 'Úprava osobních údajů',
description:
'Pro registraci je potřeba vyplnit několik údajů o Vás. Tyto údaje budou použity pro přijímací řízení. Všechny údaje jsou důležité.'
},
fifth: {
title: 'Zákonný zástupce',
description:
'Sběr dat o zákonném zástupci je klíčový pro získání důležitých kontaktů a informací.'
},
sixth: {
title: 'Druhý zákonný zástupce',
description:
'Zde můžete zadat údaje o druhém zákonném zástupci. Škole tím umožníte lépe komunikovat.'
},
seventh: {
title: 'Dokončení registrace',
description:
'Zadejte prosím své občanství, rodné číslo, či jeho alternativu Vaší země a obor na který se hlásíte.'
},
eighth: {
title: 'Poslední krok',
description: 'Přidejte prosím přepis Vaších známek z posledních dvou let studia'
}
} }
}, },
components: { components: {
@ -37,7 +80,7 @@ const cs: BaseTranslation = {
}, },
single: { single: {
title: 'Ano, přihlášku na SSPŠaG jsem podával/a jen jednu ({first:number})', title: 'Ano, přihlášku na SSPŠaG jsem podával/a jen jednu ({first:number})',
title2: '`Ne, přihlášku na SSPŠaG jsem podával více přihlášek' title2: 'Ne, přihlášku na SSPŠaG jsem podával více přihlášek'
} }
}, },
gdprCheckBox: { gdprCheckBox: {
@ -60,14 +103,15 @@ const cs: BaseTranslation = {
sex: 'Pohlaví', sex: 'Pohlaví',
citizenship: 'Občanství', citizenship: 'Občanství',
testLanguage: 'Jazyk odborných testů', testLanguage: 'Jazyk odborných testů',
schoolIzo: "IZO školy", schoolIzo: 'IZO školy',
schoolName: "Název školy", schoolName: 'Název školy',
insuranceNumber: 'Číslo zdravotní pojišťovny', insuranceNumber: 'Číslo zdravotní pojišťovny',
personalIdentificationNumber: 'Rodné číslo', personalIdentificationNumber: 'Rodné číslo',
evidenceNumber: 'Ev. číslo', evidenceNumber: 'Ev. číslo',
adminId: 'Admin Id', adminId: 'Admin Id',
password: 'Heslo', password: 'Heslo',
submit: 'Odeslat', submit: 'Odeslat',
continue: "Pokračovat",
parent: { parent: {
nameSurname: 'Jméno a příjmení zákonného zástupce', nameSurname: 'Jméno a příjmení zákonného zástupce',
email: 'E-mail zákonného zástupce', email: 'E-mail zákonného zástupce',

View file

@ -13,6 +13,10 @@ export type Translation = RootTranslation
export type Translations = RootTranslation export type Translations = RootTranslation
type RootTranslation = { type RootTranslation = {
/**
* zde
*/
here: string
admin: { admin: {
auth: { auth: {
login: { login: {
@ -58,6 +62,92 @@ type RootTranslation = {
} }
} }
} }
register: {
first: {
/**
* Propojení účtů
*/
title: string
/**
* Elektronickou přihlášky stačí vyplnit jen jednou i v případě, že jste podali dvě přihlášky. Potvrďte, že jste jste k nám skutečně podali dvě přihlášky.
*/
description: string
}
second: {
/**
* Zpracování osobních údajů
*/
title: string
/**
* V rámci portálu pro přijímací řízení zpracováváme mnoho osobních údajů. Proto je nutný Váš souhlas s jejich zpracováním. O bezpečnosti zpracování Vašich osobních údajů si můžete přečíst
*/
description: string
}
third: {
/**
* Registrace
*/
title: string
/**
* V rámci usnadnění přijímacího řízení jsme připravili online formulář, který Vám pomůže s vyplněním potřebných údajů.
*/
description: string
}
fourth: {
/**
* Něco o Vás
*/
title: string
/**
* Úprava osobních údajů
*/
titleEdit: string
/**
* Pro registraci je potřeba vyplnit několik údajů o Vás. Tyto údaje budou použity pro přijímací řízení. Všechny údaje jsou důležité.
*/
description: string
}
fifth: {
/**
* Zákonný zástupce
*/
title: string
/**
* Sběr dat o zákonném zástupci je klíčový pro získání důležitých kontaktů a informací.
*/
description: string
}
sixth: {
/**
* Druhý zákonný zástupce
*/
title: string
/**
* Zde můžete zadat údaje o druhém zákonném zástupci. Škole tím umožníte lépe komunikovat.
*/
description: string
}
seventh: {
/**
* Dokončení registrace
*/
title: string
/**
* Zadejte prosím své občanství, rodné číslo, či jeho alternativu Vaší země a obor na který se hlásíte.
*/
description: string
}
eighth: {
/**
* Poslední krok
*/
title: string
/**
* Přidejte prosím přepis Vaších známek z posledních dvou let studia
*/
description: string
}
}
} }
components: { components: {
checkbox: { checkbox: {
@ -90,7 +180,7 @@ type RootTranslation = {
*/ */
title: RequiredParams<'first'> title: RequiredParams<'first'>
/** /**
* `Ne, přihlášku na SSPŠaG jsem podával více přihlášek * Ne, přihlášku na SSPŠaG jsem podával více přihlášek
*/ */
title2: string title2: string
} }
@ -192,6 +282,10 @@ type RootTranslation = {
* Odeslat * Odeslat
*/ */
submit: string submit: string
/**
* Pokračovat
*/
'continue': string
parent: { parent: {
/** /**
* Jméno a příjmení zákonného zástupce * Jméno a příjmení zákonného zástupce
@ -210,6 +304,10 @@ type RootTranslation = {
} }
export type TranslationFunctions = { export type TranslationFunctions = {
/**
* zde
*/
here: () => LocalizedString
admin: { admin: {
auth: { auth: {
login: { login: {
@ -255,6 +353,92 @@ export type TranslationFunctions = {
} }
} }
} }
register: {
first: {
/**
* Propojení úč
*/
title: () => LocalizedString
/**
* Elektronickou přihlášky stačí vyplnit jen jednou i v případě, že jste podali dvě přihlášky. Potvrďte, že jste jste k nám skutečně podali dvě přihlášky.
*/
description: () => LocalizedString
}
second: {
/**
* Zpracování osobních údajů
*/
title: () => LocalizedString
/**
* V rámci portálu pro přijímací řízení zpracováváme mnoho osobních údajů. Proto je nutný Váš souhlas s jejich zpracováním. O bezpečnosti zpracování Vašich osobních údajů si můžete přečíst
*/
description: () => LocalizedString
}
third: {
/**
* Registrace
*/
title: () => LocalizedString
/**
* V rámci usnadnění přijímacího řízení jsme připravili online formulář, který Vám pomůže s vyplněním potřebných údajů.
*/
description: () => LocalizedString
}
fourth: {
/**
* Něco o Vás
*/
title: () => LocalizedString
/**
* Úprava osobních údajů
*/
titleEdit: () => LocalizedString
/**
* Pro registraci je potřeba vyplnit několik údajů o Vás. Tyto údaje budou použity pro přijímací řízení. Všechny údaje jsou důležité.
*/
description: () => LocalizedString
}
fifth: {
/**
* Zákonný zástupce
*/
title: () => LocalizedString
/**
* Sběr dat o zákonném zástupci je klíčový pro získání důležitých kontaktů a informací.
*/
description: () => LocalizedString
}
sixth: {
/**
* Druhý zákonný zástupce
*/
title: () => LocalizedString
/**
* Zde můžete zadat údaje o druhém zákonném zástupci. Škole tím umožníte lépe komunikovat.
*/
description: () => LocalizedString
}
seventh: {
/**
* Dokončení registrace
*/
title: () => LocalizedString
/**
* Zadejte prosím své občanství, rodné číslo, či jeho alternativu Vaší země a obor na který se hlásíte.
*/
description: () => LocalizedString
}
eighth: {
/**
* Poslední krok
*/
title: () => LocalizedString
/**
* Přidejte prosím přepis Vaších známek z posledních dvou let studia
*/
description: () => LocalizedString
}
}
} }
components: { components: {
checkbox: { checkbox: {
@ -283,7 +467,7 @@ export type TranslationFunctions = {
*/ */
title: (arg: { first: number }) => LocalizedString title: (arg: { first: number }) => LocalizedString
/** /**
* `Ne, přihlášku na SSPŠaG jsem podával více přihlášek * Ne, přihlášku na SSPŠaG jsem podával více přihlášek
*/ */
title2: () => LocalizedString title2: () => LocalizedString
} }
@ -385,6 +569,10 @@ export type TranslationFunctions = {
* Odeslat * Odeslat
*/ */
submit: () => LocalizedString submit: () => LocalizedString
/**
* Pokračovat
*/
'continue': () => LocalizedString
parent: { parent: {
/** /**
* Jméno a příjmení zákonného zástupce * Jméno a příjmení zákonného zástupce