add translations in creations steps

This commit is contained in:
Tykayn 2022-02-02 17:59:55 +01:00 committed by tykayn
parent c4dee3eaad
commit 920066a4a0
10 changed files with 195 additions and 44 deletions

View File

@ -1,5 +1,5 @@
<form [formGroup]="form" class="form-advanced-config">
<div class="box-well">
<div class="box-well" *ngIf="environment.propose_expire_input">
<h3 class="title is-3">
Saisissez la date de fin de votre sondage
</h3>

View File

@ -19,10 +19,11 @@
<!-- </span>-->
<div class="top">
<label class="pull-left" for="dateChoices_{{ id }}">
Date {{ id + 1 }} ( weekend : {{ isWeekendDay(choice.date_input) }} )
{{ 'dates.element' | translate }} {{ id + 1 }}
<!-- ( weekend : {{ isWeekendDay(choice.date_input) }} )-->
<!-- - {{ choice.date_object | date: 'E':'Europe/Paris':'fr_FR' }}-->
</label>
<span class="format-helper pull-right">JJ/MM/AAAA</span>
<span class="format-helper pull-right">{{ 'dates.format_helper' | translate }}</span>
<input
[(ngModel)]="choice.date_input"
@ -36,7 +37,7 @@
<div class="bottom">
<div class="button delete-date is-block" (click)="dateChoices.splice(id, 1)">
<img class="icon" aria-hidden="true" src="assets/icons/trash.svg" />
Supprimer la date
{{ 'dates.remove' | translate }}
</div>
<div *ngIf="hasSeveralHours" class="several-times">
<br />

View File

@ -1,6 +1,7 @@
<div class="time-list-container" cdkDropList [cdkDropListData]="timeSlices" (cdkDropListDropped)="dropTimeItem($event)">
<div *ngFor="let time of timeSlices; index as id" class="time-choice" cdkDrag>
<label class="icon button is-default" for="choice_{{ prefix_choice_id }}_timeChoices_{{ id }}">
{{ 'hours.element' | translate }} {{ id }}
<i class="fa fa-arrows-v" aria-hidden="true"></i>
</label>
<input

View File

@ -5,8 +5,11 @@
<app-errors-list [form]="pollService.form"></app-errors-list>
<div class="advanced-config">
<h2 class="title is-2">
Paramétrez le sondage
{{ 'advanced.title' | translate }}
</h2>
<p class="decription">
{{ 'advanced.description' | translate }}
</p>
<div class="complete" *ngIf="environment.advanced_options_display">
<app-advanced-config [form]="pollService.form"></app-advanced-config>
</div>

View File

@ -3,16 +3,13 @@
<div class="columns content">
<div class="column">
<h2 class="title is-2">
Voici le résumé de votre sondage
{{ 'resume.title' | translate }}
</h2>
<p class="helper">
En cliquant sur le bouton « Modifier » dune section vous serez renvoyé à létape correspondante de la
création du sondage. Vous devrez repasser par toutes les étapes suivantes.
<br />
Mais rassurez-vous, vous naurez pas à tout remplir à nouveau.
{{ 'resume.description' | translate }}
</p>
<div class="resume">
<h3 class="title is-3">Mes informations générales</h3>
<h3 class="title is-3">{{ 'resume.general' | translate }}</h3>
<div class="block-resume">
<h3 class="title is-4">
{{ pollService.form.value.title }}
@ -22,18 +19,19 @@
</p>
<hr />
<div class="go-to-step" [routerLink]="['/administration/step/1']">
<img class="icon" src="assets/icons/edit.svg" alt="icone crayon" /> Modifier
<img class="icon" src="assets/icons/edit.svg" alt="icone crayon" />
{{ 'resume.edit' | translate }}
</div>
</div>
<h3 class="title is-3">Type de sondage</h3>
<h3 class="title is-3">{{ 'resume.kind' | translate }}</h3>
<div class="block-resume">
{{ pollService.form.value.isAboutDate ? 'Date' : 'Propositions' }}
<hr />
<div class="go-to-step" [routerLink]="['/administration/step/2']">
<i class="fa fa-pencil"></i> Modifier
<i class="fa fa-pencil"></i> {{ 'resume.edit' | translate }}
</div>
</div>
<h3 class="title is-3">Mes dates et horaires</h3>
<h3 class="title is-3">{{ 'resume.dates_and_hours' | translate }}</h3>
<div class="block-resume">
<div class="list-datechoices" *ngIf="pollService.form.value.isAboutDate">
<ul *ngFor="let choice of pollService.dateChoiceList">
@ -53,20 +51,20 @@
</div>
<hr />
<div class="go-to-step" [routerLink]="['/administration/step/3']">
<i class="fa fa-pencil"></i> Modifier
<i class="fa fa-pencil"></i> {{ 'resume.edit' | translate }}
</div>
</div>
<h3 class="title is-3">Mes paramètres et options de notifications</h3>
<h3 class="title is-3">{{ 'resume.params_notifs' | translate }}</h3>
<div class="block-resume">
<div class="password">
Protégé par mot de passe: {{ pollService.form.value.isProtectedByPassword ? 'oui' : 'non' }}
</div>
<hr />
<div class="go-to-step clickable" [routerLink]="['/administration/step/4']">
<i class="fa fa-pencil"></i> Modifier
<i class="fa fa-pencil"></i> {{ 'resume.edit' | translate }}
</div>
</div>
<h3 class="title is-3">Mon nom et mon adresse e-mail</h3>
<h3 class="title is-3">{{ 'resume.owner' | translate }}</h3>
<div class="block-resume">
<div class="name">
{{ pollService.form.value.creatorPseudo }}
@ -76,7 +74,7 @@
</div>
<hr />
<div class="go-to-step" [routerLink]="['/administration/step/6']">
<i class="fa fa-pencil"></i> Modifier
<i class="fa fa-pencil"></i> {{ 'resume.edit' | translate }}
</div>
</div>
</div>

View File

@ -3,21 +3,20 @@
<div class="min-height">
<form action="#" [formGroup]="pollService.form">
<h2>
Dites à vos participants qui vous êtes !
{{ 'owner.title' | translate }}
</h2>
<label for="name">
Votre nom (obligatoire)
{{ 'owner.name_label' | translate }}
</label>
<input class="input" type="text" id="name" formControlName="creatorPseudo" />
<label for="email">
Votre adresse e-mail
{{ 'owner.email_label' | translate }}
<span class="required-label" *ngIf="environment.creation_email_is_required">
(obligatoire)
</span>
</label>
<p>
Votre adresse ne sera pas partagée avec les participants du sondage. Elle nous sert uniquement à vous
informer des mises à jour et vous prévenir dès qu'un nouveau vote à eu lieu
{{ 'owner.email_description' | translate }}
</p>
<input class="input" type="text" id="email" formControlName="creatorEmail" />
</form>

View File

@ -1,14 +1,18 @@
<app-stepper [step_current]="3" [step_max]="pollService.step_max"></app-stepper>
<div class="step min-height">
<h2 class="title is-2">Choisissez les dates</h2>
<!-- <h2 class="title is-2">choisissez les propositions</h2>-->
<h2 class="title is-2">
{{ 'dates.title' | translate }}
</h2>
<app-errors-list [form]="pollService.form"></app-errors-list>
<!-- sélecteur d'interface-->
<button class="button is-fullwidth date-input-selector is-secondary" (click)="changeDateInputMode()">
<span *ngIf="pollService.mode_calendar"> <i class="fa fa-pencil"></i> Saisir les dates manuellement </span>
<span *ngIf="pollService.mode_calendar">
{{ 'dates.manual_input' | translate }}
</span>
<span *ngIf="!pollService.mode_calendar">
<i class="fa fa-calendar-o"></i> Saisir les dates dans le calendrier
{{ 'dates.datepicker_input' | translate }}
<i class="fa fa-calendar-o"></i>
</span>
</button>

View File

@ -56,13 +56,18 @@
},
"dates": {
"title": "Config especially for the dates",
"manual_input": "Manually input dates",
"datepicker_input": "Use the datepicker",
"hours_different": "I want to put",
"hours_each_day": "slots for each day",
"multiple": {
"identical": "the same",
"different": "possibly different"
},
"add": "Add a date choice",
"add": "Add date",
"element": "Date",
"format_helper": "DD/MM/YYYY",
"remove": "Remove date",
"add_time": "Add a schedule proposal",
"empty": "Empty",
"count_dates": "choices of dates",
@ -71,19 +76,86 @@
"interval_propose": "I want to suggest all the dates from",
"interval_span": "to",
"interval_button": "Add these",
"interval_button_dates": "dates"
"interval_button_dates": "dates",
"errors": {
"missing" : "Input at least one day"
}
},
"hours": {
"title" : "Choisissez les horaires",
"element": "Time span",
"apply_same" : "Apply the same time spans to all dates",
"add" : "Add time span",
"modal": {
"title" : "Choisissez les horaires ou options à appliquer à toutes les dates",
"validate" : "Appliquer"
}
},
"choices": {
"title": "Write the proposals",
"helper": "You can use markdown syntax",
"add_link": "Add link",
"element" : "Option",
"delete" : "Delete choice",
"answer_preset_1": "Demo answer 1",
"answer_preset_2": "answer 2",
"answer_preset_3": "and D, the answer D",
"add": "Add",
"continue": "Let's see how it goes"
"add": "Add choice",
"continue": "Let's see how it goes",
"modal": {
"title" : "Add a link to option",
"description" : "You can add a web page address (URL), a link to a web picture or both.",
"url_label": "Web page link (URL)",
"img_label": "Web picture link",
"validate" : "Add"
}
},
"advanced": {
"title": "Paramétrez le sondage",
"description" : "Cette étape est facultative.",
"limit_title" : "Limiter le nombre de participants par option",
"limit_label" : "Nombre maximum de participants",
"custom_link" : "Personnaliser le lien du sondage",
"custom_label" : "Saisissez le lien de votre sondage",
"custom_desc" : "Modifier le lien de votre sondage le rend plus facilement accessible à tous le monde. Il est recommandé de le protéger par mot de passe.",
"password_title" : "Protéger par mot de passe",
"password_label" : "Cette étape est facultative.",
"password_label_repeat" : "Cette étape est facultative.",
"password_validation_ok" : "Vos mots de passe sont identiques",
"password_display_without" : "Les résultats sont visibles sans mot de passe",
"allowances_title" : "Permissions",
"allowances_all" : "Tou·te·s les sondé·e·s peuvent modifier tous les votes",
"allowances_own" : "Chaque sondé·e peut modifier son propre vote",
"allowances_none" : "Aucun vote ne peut être modifié",
"allowances_creator" : "Seul·e le ou la créateur·rice du sondage peut voir les résultats",
"notifications_title" : "Notifications",
"notifications_vote" : "Recevoir un e-mail à chaque participation",
"notifications_comment" : "Recevoir un e-mail à chaque commentaire",
"notifications_description" : "Choisissez pour quelles mises à jour vous souhaitez être contacté"
},
"owner": {
"title": "Say to your guests who you are !",
"name_label": "Your name (required)",
"email_label": "Your e-mail (required)",
"email_description": "Your email will not be used for anything else than sending you notifications."
},
"resume": {
"title": "And that's all for us!",
"title": "Voici le résumé de votre sondage",
"description": "En cliquant sur « Modifier » vous serez envoyé à létape correspondante de la création du sondage. Vous devrez repasser par toutes les étapes suivantes. \n\nMais rassurez-vous, vous naurez pas à tout remplir à nouveau.",
"general": "My general informations",
"edit": "Modifier",
"kind": "Kind of poll",
"dates_and_hours": "My dates and hours",
"params_notifs": "My notification options",
"owner ": "My name and e-mail",
"no_description": "No description"
},
"success": {
"title": "Your poll is ready !",
"description": "The event « {{eventTitle}} » is created. Share it with the following public link.",
"link": "Public link to share",
"label": "Check your poll",
"action": "See my poll",
"admins": "Admin side",
"users": "Respondent side",
"links_mail": "Receive links by email"
@ -156,9 +228,9 @@
"lang": "Select the lang"
},
"validation": {
"You must enter a value": "You must enter a EEEE"
"You must enter a value": "You must enter a value"
},
"You must enter a value": "You must enter a valueeeeeeee",
"You must enter a value": "You must enter a value",
"SENTENCES": {
"create-a-poll": "Create a poll",
"define-dates-or-subjects-to-choose-from": "Define dates or subjects to choose from",

View File

@ -66,14 +66,19 @@
}
},
"dates": {
"title": "Config spécialement pour les dates",
"title": "Choisissez les dates",
"manual_input": "Saisir dates manuellement",
"datepicker_input": "Saisir dates avec calendrier",
"hours_different": "Je souhaite mettre des créneaux horaires",
"hours_each_day": "pour chaque journée",
"multiple": {
"identical": "identiques",
"different": "possiblement différents"
},
"add": "Ajouter une date",
"add": "Ajouter date",
"element": "Date",
"format_helper": "JJ/MM/AAAA",
"remove": "Supprimer la date",
"add_time": "Ajouter une plage horaire",
"empty": "Vider",
"count_dates": "choix de dates",
@ -82,19 +87,86 @@
"interval_propose": "Je souhaite proposer pour mon sondage toutes les dates entre le",
"interval_span": "et le",
"interval_button": "Ajouter ces",
"interval_button_dates": "dates"
"interval_button_dates": "dates",
"errors": {
"missing": "Entrez au moins un jour"
}
},
"hours": {
"title": "Choisissez les horaires",
"element": "Horaire",
"apply_same": "Appliquer le même horaire à toutes les dates",
"add": "Ajouter horaire",
"modal": {
"title": "Choisissez les horaires ou options à appliquer à toutes les dates",
"validate": "Appliquer"
}
},
"choices": {
"title": "Choisir les propositions",
"helper": "vous pouvez utiliser la syntaxe markdown",
"add_link": "Ajouter lien",
"delete": "Supprimer option",
"element": "Option",
"answer_preset_1": "réponse de démo 1",
"answer_preset_2": "réponse 2",
"answer_preset_3": "la réponse D",
"add": "Ajouter",
"continue": "Voyons ce que ça donne"
"add": "Ajouter option",
"continue": "Voyons ce que ça donne",
"modal": {
"title": "Ajoutez un lien à loption",
"description": "Vous pouvez ajouter un lien internet (URL), un lien vers une image ou les deux.",
"url_label": "Lien internet (URL)",
"img_label": "Lien image",
"validate": "Ajouter"
}
},
"advanced": {
"title": "Paramétrez le sondage",
"description": "Cette étape est facultative.",
"limit_title": "Limiter le nombre de participants par option",
"limit_label": "Nombre maximum de participants",
"custom_link": "Personnaliser le lien du sondage",
"custom_label": "Saisissez le lien de votre sondage",
"custom_desc": "Modifier le lien de votre sondage le rend plus facilement accessible à tous le monde. Il est recommandé de le protéger par mot de passe.",
"password_title": "Protéger par mot de passe",
"password_label": "Cette étape est facultative.",
"password_label_repeat": "Cette étape est facultative.",
"password_validation_ok": "Vos mots de passe sont identiques",
"password_display_without": "Les résultats sont visibles sans mot de passe",
"allowances_title": "Permissions",
"allowances_all": "Tou·te·s les sondé·e·s peuvent modifier tous les votes",
"allowances_own": "Chaque sondé·e peut modifier son propre vote",
"allowances_none": "Aucun vote ne peut être modifié",
"allowances_creator": "Seul·e le ou la créateur·rice du sondage peut voir les résultats",
"notifications_title": "Notifications",
"notifications_vote": "Recevoir un e-mail à chaque participation",
"notifications_comment": "Recevoir un e-mail à chaque commentaire",
"notifications_description": "Choisissez pour quelles mises à jour vous souhaitez être contacté"
},
"owner": {
"title": "Dites à vos participants qui vous êtes !",
"name_label": "Votre nom (obligatoire)",
"email_label": "Votre adresse e-mail (obligatoire)",
"email_description": "Votre adresse ne sera pas partagée avec les participants du sondage. Elle nous sert uniquement à vous informer des mises à jours et vous prévenir dès quun nouveau vote à eu lieu."
},
"resume": {
"title": "Félicitations !",
"title": "Voici le résumé de votre sondage",
"description": "En cliquant sur « Modifier » vous serez envoyé à létape correspondante de la création du sondage. Vous devrez repasser par toutes les étapes suivantes. \n\nMais rassurez-vous, vous naurez pas à tout remplir à nouveau.",
"general": "Mes informations générales",
"edit": "Modifier",
"kind": "Type de sondage",
"dates_and_hours": "Mes dates et horaires",
"params_notifs": "Mes paramètres et options de notifications",
"owner ": "Mon nom et mon adresse e-mail",
"no_description": "Pas de description"
},
"success": {
"title": "Votre sondage est prêt !",
"description": "L'événement « {{eventTitle}} » est créé. Vous pouvez inviter vos contacts à y participer en partageant le lien ci-dessous.",
"link": "Lien de partage public",
"label": "Consultez dès maintenant votre sondage",
"action": "Voir mon sondage",
"admins": "Côté administrateur-ice-eux",
"users": "Côté sondés",
"links_mail": "Recevoir les liens par e-mail"
@ -172,9 +244,9 @@
},
"validation": {
"required": "champ requis",
"You must enter a value": "You must enter a EEEE"
"You must enter a value": "You must enter a value"
},
"You must enter a value": "You must enter a valueeeeeeee",
"You must enter a value": "You must enter a value",
"SENTENCES": {
"create-a-poll": "Créez un sondage",
"define-dates-or-subjects-to-choose-from": "Déterminez les dates ou les sujets à choisir",

View File

@ -47,6 +47,7 @@ export const environment = {
key: 'FramaDateFunky',
},
display_validation_errors: false,
propose_expire_input: false,
};
// Included with Angular CLI.