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"> <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"> <h3 class="title is-3">
Saisissez la date de fin de votre sondage Saisissez la date de fin de votre sondage
</h3> </h3>

View File

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

View File

@ -1,6 +1,7 @@
<div class="time-list-container" cdkDropList [cdkDropListData]="timeSlices" (cdkDropListDropped)="dropTimeItem($event)"> <div class="time-list-container" cdkDropList [cdkDropListData]="timeSlices" (cdkDropListDropped)="dropTimeItem($event)">
<div *ngFor="let time of timeSlices; index as id" class="time-choice" cdkDrag> <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 }}"> <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> <i class="fa fa-arrows-v" aria-hidden="true"></i>
</label> </label>
<input <input

View File

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

View File

@ -3,16 +3,13 @@
<div class="columns content"> <div class="columns content">
<div class="column"> <div class="column">
<h2 class="title is-2"> <h2 class="title is-2">
Voici le résumé de votre sondage {{ 'resume.title' | translate }}
</h2> </h2>
<p class="helper"> <p class="helper">
En cliquant sur le bouton « Modifier » dune section vous serez renvoyé à létape correspondante de la {{ 'resume.description' | translate }}
création du sondage. Vous devrez repasser par toutes les étapes suivantes.
<br />
Mais rassurez-vous, vous naurez pas à tout remplir à nouveau.
</p> </p>
<div class="resume"> <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"> <div class="block-resume">
<h3 class="title is-4"> <h3 class="title is-4">
{{ pollService.form.value.title }} {{ pollService.form.value.title }}
@ -22,18 +19,19 @@
</p> </p>
<hr /> <hr />
<div class="go-to-step" [routerLink]="['/administration/step/1']"> <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>
</div> </div>
<h3 class="title is-3">Type de sondage</h3> <h3 class="title is-3">{{ 'resume.kind' | translate }}</h3>
<div class="block-resume"> <div class="block-resume">
{{ pollService.form.value.isAboutDate ? 'Date' : 'Propositions' }} {{ pollService.form.value.isAboutDate ? 'Date' : 'Propositions' }}
<hr /> <hr />
<div class="go-to-step" [routerLink]="['/administration/step/2']"> <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>
</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="block-resume">
<div class="list-datechoices" *ngIf="pollService.form.value.isAboutDate"> <div class="list-datechoices" *ngIf="pollService.form.value.isAboutDate">
<ul *ngFor="let choice of pollService.dateChoiceList"> <ul *ngFor="let choice of pollService.dateChoiceList">
@ -53,20 +51,20 @@
</div> </div>
<hr /> <hr />
<div class="go-to-step" [routerLink]="['/administration/step/3']"> <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>
</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="block-resume">
<div class="password"> <div class="password">
Protégé par mot de passe: {{ pollService.form.value.isProtectedByPassword ? 'oui' : 'non' }} Protégé par mot de passe: {{ pollService.form.value.isProtectedByPassword ? 'oui' : 'non' }}
</div> </div>
<hr /> <hr />
<div class="go-to-step clickable" [routerLink]="['/administration/step/4']"> <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>
</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="block-resume">
<div class="name"> <div class="name">
{{ pollService.form.value.creatorPseudo }} {{ pollService.form.value.creatorPseudo }}
@ -76,7 +74,7 @@
</div> </div>
<hr /> <hr />
<div class="go-to-step" [routerLink]="['/administration/step/6']"> <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> </div>
</div> </div>

View File

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

View File

@ -1,14 +1,18 @@
<app-stepper [step_current]="3" [step_max]="pollService.step_max"></app-stepper> <app-stepper [step_current]="3" [step_max]="pollService.step_max"></app-stepper>
<div class="step min-height"> <div class="step min-height">
<h2 class="title is-2">Choisissez les dates</h2> <h2 class="title is-2">
<!-- <h2 class="title is-2">choisissez les propositions</h2>--> {{ 'dates.title' | translate }}
</h2>
<app-errors-list [form]="pollService.form"></app-errors-list> <app-errors-list [form]="pollService.form"></app-errors-list>
<!-- sélecteur d'interface--> <!-- sélecteur d'interface-->
<button class="button is-fullwidth date-input-selector is-secondary" (click)="changeDateInputMode()"> <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"> <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> </span>
</button> </button>

View File

@ -56,13 +56,18 @@
}, },
"dates": { "dates": {
"title": "Config especially for the dates", "title": "Config especially for the dates",
"manual_input": "Manually input dates",
"datepicker_input": "Use the datepicker",
"hours_different": "I want to put", "hours_different": "I want to put",
"hours_each_day": "slots for each day", "hours_each_day": "slots for each day",
"multiple": { "multiple": {
"identical": "the same", "identical": "the same",
"different": "possibly different" "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", "add_time": "Add a schedule proposal",
"empty": "Empty", "empty": "Empty",
"count_dates": "choices of dates", "count_dates": "choices of dates",
@ -71,19 +76,86 @@
"interval_propose": "I want to suggest all the dates from", "interval_propose": "I want to suggest all the dates from",
"interval_span": "to", "interval_span": "to",
"interval_button": "Add these", "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": { "choices": {
"title": "Write the proposals", "title": "Write the proposals",
"helper": "You can use markdown syntax", "helper": "You can use markdown syntax",
"add_link": "Add link",
"element" : "Option",
"delete" : "Delete choice",
"answer_preset_1": "Demo answer 1", "answer_preset_1": "Demo answer 1",
"answer_preset_2": "answer 2", "answer_preset_2": "answer 2",
"answer_preset_3": "and D, the answer D", "answer_preset_3": "and D, the answer D",
"add": "Add", "add": "Add choice",
"continue": "Let's see how it goes" "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": { "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", "admins": "Admin side",
"users": "Respondent side", "users": "Respondent side",
"links_mail": "Receive links by email" "links_mail": "Receive links by email"
@ -156,9 +228,9 @@
"lang": "Select the lang" "lang": "Select the lang"
}, },
"validation": { "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": { "SENTENCES": {
"create-a-poll": "Create a poll", "create-a-poll": "Create a poll",
"define-dates-or-subjects-to-choose-from": "Define dates or subjects to choose from", "define-dates-or-subjects-to-choose-from": "Define dates or subjects to choose from",

View File

@ -66,14 +66,19 @@
} }
}, },
"dates": { "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_different": "Je souhaite mettre des créneaux horaires",
"hours_each_day": "pour chaque journée", "hours_each_day": "pour chaque journée",
"multiple": { "multiple": {
"identical": "identiques", "identical": "identiques",
"different": "possiblement différents" "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", "add_time": "Ajouter une plage horaire",
"empty": "Vider", "empty": "Vider",
"count_dates": "choix de dates", "count_dates": "choix de dates",
@ -82,19 +87,86 @@
"interval_propose": "Je souhaite proposer pour mon sondage toutes les dates entre le", "interval_propose": "Je souhaite proposer pour mon sondage toutes les dates entre le",
"interval_span": "et le", "interval_span": "et le",
"interval_button": "Ajouter ces", "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": { "choices": {
"title": "Choisir les propositions", "title": "Choisir les propositions",
"helper": "vous pouvez utiliser la syntaxe markdown", "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_1": "réponse de démo 1",
"answer_preset_2": "réponse 2", "answer_preset_2": "réponse 2",
"answer_preset_3": "la réponse D", "answer_preset_3": "la réponse D",
"add": "Ajouter", "add": "Ajouter option",
"continue": "Voyons ce que ça donne" "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": { "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", "admins": "Côté administrateur-ice-eux",
"users": "Côté sondés", "users": "Côté sondés",
"links_mail": "Recevoir les liens par e-mail" "links_mail": "Recevoir les liens par e-mail"
@ -172,9 +244,9 @@
}, },
"validation": { "validation": {
"required": "champ requis", "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": { "SENTENCES": {
"create-a-poll": "Créez un sondage", "create-a-poll": "Créez un sondage",
"define-dates-or-subjects-to-choose-from": "Déterminez les dates ou les sujets à choisir", "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', key: 'FramaDateFunky',
}, },
display_validation_errors: false, display_validation_errors: false,
propose_expire_input: false,
}; };
// Included with Angular CLI. // Included with Angular CLI.