feat: use french for user interface

This commit is contained in:
2025-02-22 16:28:46 +01:00
parent 69df95dabc
commit 5b148cb4bb
4 changed files with 62 additions and 55 deletions

View File

@ -18,61 +18,54 @@ func NewIssueSummaryForm() *form.Form {
form.NewField(
"project",
form.Attrs{},
form.NonEmpty("This field should not be empty"),
form.NonEmpty("Ce champs ne doit pas être vide."),
),
form.NewField(
"summary",
form.Attrs{
"type": "textarea",
"rows": "20",
"placeholder": "Write a rapid description of the issue here...",
"placeholder": "Décrivez rapidement le sujet du problème rencontré ou de l'évolution souhaitée...",
},
form.NonEmpty("This field should not be empty"),
form.NonEmpty("Ce champs ne doit pas être vide."),
),
)
}
func NewIssueForm() *form.Form {
return form.New(
form.NewField(
"title",
form.Attrs{
"type": "text",
},
form.NonEmpty("Ce champs ne doit pas être vide."),
),
form.NewField(
"content",
form.Attrs{
"type": "textarea",
"rows": "25",
"rows": "20",
},
form.NonEmpty("This field should not be empty"),
form.NonEmpty("Ce champs ne doit pas être vide."),
),
)
}
templ IssuePage(vmodel IssuePageVModel) {
@common.Page(common.WithTitle("New issue")) {
@common.Page(common.WithTitle("Nouvelle demande")) {
<div class="container is-fluid">
<section class="section">
<div class="buttons is-right">
<a class="button is-medium" href={ common.BaseURL(ctx, common.WithPath("/auth/logout")) }>Logout</a>
<a class="button is-medium" href={ common.BaseURL(ctx, common.WithPath("/auth/logout")) }>Se déconnecter</a>
</div>
<div class="columns">
<div class="column">
<div class="column is-4">
<form id="summary-form" action={ common.CurrentURL(ctx) } method="post" hx-disabled-elt="#summary-form textarea, #summary-form select, #summary-form button" hx-indicator="#generation-progress">
<div class="level">
<div class="level-left">
<h2 class="title is-size-2 level-item">Describe your request</h2>
</div>
<div class="level-right">
<div class="buttons is-right level-item">
<button type="submit" class="button is-primary is-large">
<span class="icon">
<i class="fa fa-robot"></i>
</span>
<span>Generate</span>
</button>
</div>
</div>
</div>
<h2 class="title is-size-2">Résumé de la demande</h2>
<progress id="generation-progress" class="htmx-indicator progress"></progress>
@common.FormSelect(
vmodel.SummaryForm, "issue-project", "project", "Project",
vmodel.SummaryForm, "issue-project", "project", "Projet",
common.WithOptions(projectsToOptions(vmodel.Projects)...),
common.WithAttrs(
"hx-get", string(common.CurrentURL(ctx, common.WithoutValues("project", "*"))),
@ -81,30 +74,33 @@ templ IssuePage(vmodel IssuePageVModel) {
),
)
@common.FormTextarea(
vmodel.SummaryForm, "issue-summary", "summary", "Summary",
vmodel.SummaryForm, "issue-summary", "summary", "Résumé",
common.WithTextareaAttrs(
"hx-on:change", "onSummaryChange(event)",
),
)
<div class="buttons is-right">
<button type="submit" class="button is-primary is-large">
<span class="icon">
<i class="fa fa-robot"></i>
</span>
<span>Génerer le ticket</span>
</button>
</div>
</form>
</div>
<div class="column">
<div class="level">
<div class="level-left">
<h2 class="title is-size-2">Generated issue</h2>
</div>
<div class="level-right">
<div class="buttons is-right">
<button disabled type="submit" class="button is-primary is-large">
<span class="icon">
<i class="fa fa-rocket"></i>
</span>
<span>Create issue</span>
</button>
</div>
</div>
<h2 class="title is-size-2">Votre demande</h2>
@common.FormField(vmodel.IssueForm, "issue-content", "title", "Titre")
@common.FormTextarea(vmodel.IssueForm, "issue-content", "content", "Contenu")
<div class="buttons is-right">
<button disabled type="submit" class="button is-primary is-large">
<span class="icon">
<i class="fa fa-rocket"></i>
</span>
<span>Créer le ticket</span>
</button>
</div>
@common.FormTextarea(vmodel.IssueForm, "issue-content", "content", "")
</div>
</div>
</section>