[add] loc:eng [mod] page:register:localization
This commit is contained in:
parent
0231057e04
commit
3a105c8ac8
5 changed files with 108 additions and 46 deletions
|
@ -3,12 +3,26 @@
|
|||
"identifier": "deu"
|
||||
},
|
||||
"tree": {
|
||||
"page.register.title": "Registrieren",
|
||||
"page.register.form.field.email_address.label": "Partei-E-Mail-Adresse einrichten",
|
||||
"page.register.form.field.email_address.help": "Für Partei-Angelegenheiten möchten wir dir anbieten gesonderte E-Mail-Adressen zu verwenden.\n\nDeine namentliche E-Mail-Adresse würde lauten »{{email_address_nominal}}« und die pseudonymisierte »{{email_address_veiled}}«\n\nDie Partei-E-Mail-Adressen können zum Empfangen von E-Mails verwendet werden. Falls es nötig werden sollte, dass du auch E-Mails mit über die Partei-Adresse verschicken kannst, wende dich bitte an den/die Mitgliederbeauftragte:n!",
|
||||
"page.register.form.field.email_address.option.none": "keine",
|
||||
"page.register.form.field.email_address.option.only_veiled": "nur pseudonymisiert",
|
||||
"page.register.form.field.email_address.option.both": "pseudonymisiert und namentlich",
|
||||
"page.register.form.field.email_redirect.label": "eingehende E-Mails an private Adresse leiten",
|
||||
"page.register.form.field.email_redirect.help": "",
|
||||
"page.register.form.field.password_value.label": "Passwort für Netz-Dienste",
|
||||
"page.register.form.field.password_value.help": "Das Passwort für die Anmeldung bei den Netz-Diensten.\n\nDu solltest dir merken oder geeignet abspeichern, was du hier einträgst.\n\nSolltest du dieses Passwort mal vergessen oder verlieren, hast du die Möglichkeit ein neues zu setzen.",
|
||||
"page.register.form.field.password_confirmation.label": "Passwort wiederholen",
|
||||
"page.register.form.field.password_confirmation.help": "",
|
||||
"page.register.form.submit": "Abschicken",
|
||||
"page.register.flaw.password_mismatch": "Die Passwörter stimmen nicht überein",
|
||||
"page.register.flaw.password_too_short": "das Passwort muss mindestens {{minimum_length}} Zeichen haben",
|
||||
"page.register.flaw.password_too_long": "das Passwort darf höchstens {{maximum_length}} Zeichen haben",
|
||||
"page.register.flaw.password_lacks_letter": "das Passwort muss einen Buchstaben beinhalten",
|
||||
"page.register.flaw.password_lacks_number": "das Passwort muss ein Zahl beinhalten",
|
||||
"page.register.flaw.password_lacks_special_character": "das Passwort muss ein Sonderzeichen beinhalten",
|
||||
"page.register.flaw.unhandled_error": "da ist etwas schief gelaufen :/"
|
||||
"page.register.flaw.unhandled_error": "da ist etwas schief gelaufen :/",
|
||||
"page.register.success": "Danke!"
|
||||
}
|
||||
}
|
||||
|
|
28
source/data/localization/eng.loc.json
Normal file
28
source/data/localization/eng.loc.json
Normal file
|
@ -0,0 +1,28 @@
|
|||
{
|
||||
"meta": {
|
||||
"identifier": "eng"
|
||||
},
|
||||
"tree": {
|
||||
"page.register.title": "Register",
|
||||
"page.register.form.field.email_address.label": "Set up party e-mail address",
|
||||
"page.register.form.field.email_address.help": "We offer you to use a special e-mail address for any party concerns.\n\nYour namely e-mail address would be »{{email_address_nominal}}« and the veiled one »{{email_address_veiled}}«\n\nThe party e-mail address may be used for the reception of e-mails. In case it becomes necessary for you to submit e-mails via a party address, please get in contact with your membership authority!",
|
||||
"page.register.form.field.email_address.option.none": "none",
|
||||
"page.register.form.field.email_address.option.only_veiled": "only veiled",
|
||||
"page.register.form.field.email_address.option.both": "both, veiled and namely",
|
||||
"page.register.form.field.email_redirect.label": "redirect incoming e-mails to private address",
|
||||
|
||||
"page.register.form.field.password_value.label": "password for online services",
|
||||
|
||||
"page.register.form.field.password_confirmation.label": "confirm password",
|
||||
|
||||
"page.register.form.submit": "submit",
|
||||
"page.register.flaw.password_mismatch": "passwords do not match",
|
||||
"page.register.flaw.password_too_short": "the password must have at least {{minimum_length}} characters",
|
||||
"page.register.flaw.password_too_long": "the password must not have more than {{maximum_length}} characters",
|
||||
"page.register.flaw.password_lacks_letter": "the password must contain a letter",
|
||||
"page.register.flaw.password_lacks_number": "the password must contain a number",
|
||||
"page.register.flaw.password_lacks_special_character": "the password must contain a special character",
|
||||
"page.register.flaw.unhandled_error": "something went wrong :/",
|
||||
"page.register.success": "Thanks!"
|
||||
}
|
||||
}
|
|
@ -93,8 +93,9 @@ async function main(
|
|||
"verbosity": 1,
|
||||
"packages": [
|
||||
JSON.parse(await lib_plankton.file.read("data/localization/deu.loc.json")),
|
||||
JSON.parse(await lib_plankton.file.read("data/localization/eng.loc.json")),
|
||||
],
|
||||
"order": ["deu"],
|
||||
"order": ["deu", "eng"],
|
||||
"autopromote": false,
|
||||
}
|
||||
);
|
||||
|
|
|
@ -35,8 +35,16 @@ lib_plankton.zoo_page.register(
|
|||
|
||||
target_element.appendChild(template_request("register"));
|
||||
|
||||
set_state("load");
|
||||
set_state(
|
||||
"load",
|
||||
[
|
||||
]
|
||||
);
|
||||
|
||||
// title
|
||||
{
|
||||
target_element.querySelector(".register-title").textContent = lib_plankton.translate.get("page.register.title");
|
||||
}
|
||||
// info
|
||||
{
|
||||
}
|
||||
|
@ -58,45 +66,47 @@ lib_plankton.zoo_page.register(
|
|||
"name": "email_address",
|
||||
"input": new lib_plankton.zoo_input.class_input_enumeration(
|
||||
[
|
||||
{"value": "none", "label": "keine"},
|
||||
{"value": "only_veiled", "label": "nur pseudonymisiert"},
|
||||
{"value": "both", "label": "pseudonymisiert und namentlich"},
|
||||
{
|
||||
"value": "none",
|
||||
"label": lib_plankton.translate.get("page.register.form.field.email_address.option.none"),
|
||||
},
|
||||
{
|
||||
"value": "only_veiled",
|
||||
"label": lib_plankton.translate.get("page.register.form.field.email_address.option.only_veiled"),
|
||||
},
|
||||
{
|
||||
"value": "both",
|
||||
"label": lib_plankton.translate.get("page.register.form.field.email_address.option.both"),
|
||||
},
|
||||
]
|
||||
),
|
||||
"label": "Partei-E-Mail-Adresse einrichten",
|
||||
"help": (
|
||||
[
|
||||
"Für Partei-Angelegenheiten möchten wir dir anbieten gesonderte E-Mail-Adressen zu verwenden.",
|
||||
lib_plankton.string.coin(
|
||||
"Deine namentliche E-Mail-Adresse würde lauten »{{email_address_nominal}}« und die pseudonymisierte »{{email_address_veiled}}«.",
|
||||
{
|
||||
"email_address_veiled": member_data.email_address_veiled,
|
||||
"email_address_nominal": member_data.email_address_nominal,
|
||||
}
|
||||
),
|
||||
"Die Partei-E-Mail-Adressen können zum Empfangen von E-Mails verwendet werden. Falls es nötig werden sollte, dass du auch E-Mails mit über die Partei-Adresse verschicken kannst, wende dich bitte an den/die Mitgliederbeauftragte:n!",
|
||||
]
|
||||
.join("\n\n")
|
||||
)
|
||||
"label": lib_plankton.translate.get("page.register.form.field.email_address.label"),
|
||||
"help": lib_plankton.translate.get(
|
||||
"page.register.form.field.email_address.help",
|
||||
{
|
||||
"email_address_veiled": member_data.email_address_veiled,
|
||||
"email_address_nominal": member_data.email_address_nominal,
|
||||
}
|
||||
),
|
||||
},
|
||||
{
|
||||
"name": "email_redirect",
|
||||
"input": new lib_plankton.zoo_input.class_input_checkbox(
|
||||
),
|
||||
"label": "eingehende E-Mails an private Adresse leiten",
|
||||
"label": lib_plankton.translate.get("page.register.form.field.email_redirect.label"),
|
||||
},
|
||||
{
|
||||
"name": "password_value",
|
||||
"input": new lib_plankton.zoo_input.class_input_password(
|
||||
),
|
||||
"label": "Passwort für Netz-Dienste",
|
||||
"help": "Das Passwort für die Anmeldung bei den Netz-Diensten.\n\nDu solltest dir merken oder geeignet abspeichern, was du hier einträgst.\n\nSolltest du dieses Passwort mal vergessen oder verlieren, hast du die Möglichkeit ein neues zu setzen.",
|
||||
"label": lib_plankton.translate.get("page.register.form.field.password_value.label"),
|
||||
"help": lib_plankton.translate.get("page.register.form.field.password_value.help"),
|
||||
},
|
||||
{
|
||||
"name": "password_confirmation",
|
||||
"input": new lib_plankton.zoo_input.class_input_password(
|
||||
),
|
||||
"label": "Passwort wiederholen",
|
||||
"label": lib_plankton.translate.get("page.register.form.field.password_confirmation.label"),
|
||||
},
|
||||
]
|
||||
);
|
||||
|
@ -112,6 +122,7 @@ lib_plankton.zoo_page.register(
|
|||
}
|
||||
// actions
|
||||
{
|
||||
target_element.querySelector(".register-form-action-send").textContent = lib_plankton.translate.get("page.register.form.submit");
|
||||
target_element.querySelector(".register-form-action-send").addEventListener(
|
||||
"click",
|
||||
async (event) => {
|
||||
|
@ -121,12 +132,18 @@ lib_plankton.zoo_page.register(
|
|||
password_value : string;
|
||||
password_confirmation : string;
|
||||
} = await input.read();
|
||||
let flaws : Array<{incident : string; details : Record<string, any>;}>;
|
||||
if (value.password_value !== value.password_confirmation) {
|
||||
set_state("fill", ["Die Passwörter stimmen nicht überein"]);
|
||||
flaws = [
|
||||
{"incident": "password_mismatch", "details": {}},
|
||||
];
|
||||
}
|
||||
else {
|
||||
set_state("wait");
|
||||
let flaws : Array<{incident : string; details : Record<string, any>;}>;
|
||||
set_state(
|
||||
"wait",
|
||||
[
|
||||
]
|
||||
);
|
||||
try {
|
||||
flaws = await _espe.backend.member_register(
|
||||
id,
|
||||
|
@ -144,23 +161,25 @@ lib_plankton.zoo_page.register(
|
|||
{"incident": "unhandled_error", "details": {}},
|
||||
];
|
||||
}
|
||||
if (flaws.length > 0) {
|
||||
set_state(
|
||||
"fill",
|
||||
flaws.map(
|
||||
flaw => lib_plankton.string.coin(
|
||||
"{{incident}} | {{details}}",
|
||||
{
|
||||
"incident": flaw.incident,
|
||||
"details": JSON.stringify(flaw.details),
|
||||
}
|
||||
)
|
||||
}
|
||||
if (flaws.length > 0) {
|
||||
set_state(
|
||||
"fill",
|
||||
flaws.map(
|
||||
flaw => lib_plankton.string.coin(
|
||||
lib_plankton.translate.get("page.register.flaw." + flaw.incident),
|
||||
flaw.details
|
||||
)
|
||||
);
|
||||
}
|
||||
else {
|
||||
set_state("done", ["Danke!"]);
|
||||
}
|
||||
)
|
||||
);
|
||||
}
|
||||
else {
|
||||
set_state(
|
||||
"done",
|
||||
[
|
||||
lib_plankton.translate.get("page.register.success")
|
||||
]
|
||||
);
|
||||
}
|
||||
}
|
||||
);
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<template id="register">
|
||||
<section class="register">
|
||||
<h2>Registrieren</h2>
|
||||
<h2 class="register-title"></h2>
|
||||
<div class="register-info">
|
||||
</div>
|
||||
<div class="register-message">
|
||||
|
@ -9,7 +9,7 @@
|
|||
<div class="register-form-input">
|
||||
</div>
|
||||
<div class="register-form-actions">
|
||||
<button class="register-form-action-send">Abschicken</button>
|
||||
<button class="register-form-action-send"></button>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
|
Loading…
Add table
Reference in a new issue