feat: devweb - Make translations on new game configuration page

This commit is contained in:
kmitresse
2024-06-12 11:01:53 +02:00
parent 131a310b0e
commit 0066f426c3
3 changed files with 62 additions and 14 deletions
@@ -1,9 +1,11 @@
<%@ page import="uppa.project.web.translation.Translator" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib prefix="component" tagdir="/WEB-INF/tags/components" %>
<%@taglib prefix="layout" tagdir="/WEB-INF/tags/layouts" %>
<%@taglib prefix="form" tagdir="/WEB-INF/tags/forms" %>
<% Translator translator = (Translator) request.getSession().getAttribute("translator"); %>
<layout:form>
<layout:form title="${translator.translate('new_game_configuration_title')}">
<jsp:attribute name="script">
<script defer type="module" src="${pageContext.request.contextPath}/static/js/form/new-game.js"></script>
</jsp:attribute>
@@ -12,11 +14,11 @@
<div class="columns is-centered">
<div class="column is-5-tablet is-5-desktop is-5-widescreen">
<div class="box">
<h1 class="title has-text-centered">Nouvelle partie</h1>
<h1 class="title has-text-centered">${translator.translate('new_game_configuration_title')}</h1>
<form:new-game>
<jsp:attribute name="back_button">
<div class="column">
<a class="button is-fullwidth" href="${pageContext.request.contextPath}/lobby">Revenir au menu</a>
<a class="button is-fullwidth" href="${pageContext.request.contextPath}/lobby">${translator.translate('new_game_back')}</a>
</div>
</jsp:attribute>
</form:new-game>
@@ -1,41 +1,43 @@
<%@ tag import="uppa.project.database.pojo.Deck" %>
<%@ tag import="uppa.project.database.pojo.Game" %>
<%@ tag import="uppa.project.web.translation.Translator" %>
<%@tag description="form/new-game" pageEncoding="UTF-8" %>
<% Translator translator = (Translator) request.getSession().getAttribute("translator"); %>
<%@attribute name="back_button" fragment="true" %>
<form id="new-game-form" action="${pageContext.request.contextPath}/new" method="post">
<h2 class="title is-5">Paramètres Généraux</h2>
<h2 class="title is-5">${translator.translate('new_game_configuration_global_parameters')}</h2>
<div class="field">
<label class="label">Difficulté</label>
<label class="label">${translator.translate('new_game_configuration_global_parameters_difficulty')}</label>
<div class="control columns">
<div class="column">
<label class="radio button is-fullwidth is-primary is-light">
<input type="radio" name="difficulty" value="EASY" checked/>
Facile
${translator.translate('difficulty_easy')}
</label>
</div>
<div class="column">
<label class="radio button is-fullwidth is-light">
<input type="radio" value="HARD" name="difficulty"/>
Difficile
${translator.translate('difficulty_hard')}
</label>
</div>
</div>
</div>
<h2 class="title is-5">Paramètres des Manches</h2>
<h2 class="title is-5">${translator.translate('new_game_configuration_rounds_parameters')}</h2>
<div class="columns">
<div class="field column">
<label class="label" for="nbRounds">Nombre de manches</label>
<label class="label" for="nbRounds">${translator.translate('new_game_configuration_rounds_parameters_number')}</label>
<input class="input" required type="number" id="nbRounds" name="nbRounds"
value="${Deck.NB_COLORS_MAX * Deck.NB_VALUES_PER_COLOR_MAX}"
min="${Deck.NB_COLORS_MIN * Deck.NB_VALUES_PER_COLOR_MIN}"
max="${Deck.NB_COLORS_MAX * Deck.NB_VALUES_PER_COLOR_MAX}">
</div>
<div class="column field">
<label class="label" for="timer">Durée d'une manche</label>
<label class="label" for="timer">${translator.translate('new_game_configuration_rounds_parameters_duration')}</label>
<input class="input" required type="number" id="timer" name="timer"
value="${Game.TIMER_MIN}"
min="${Game.TIMER_MIN}"
@@ -43,11 +45,11 @@
</div>
</div>
<h2 class="title is-5">Paramètres du Deck</h2>
<h2 class="title is-5">${translator.translate('new_game_configuration_Deck_parameters')}</h2>
<div class="columns">
<div class="column field">
<label class="label" for="nbColors">
Nombre de couleurs: <span class="tag is-medium is-light is-primary" id="tooltip-colors">${Deck.NB_COLORS_MAX}</span>
${translator.translate('new_game_configuration_Deck_parameters_color_number')} <span class="tag is-medium is-light is-primary" id="tooltip-colors">${Deck.NB_COLORS_MAX}</span>
</label>
<div class="control is-flex is-1">
<span class="mr-1 tag"><strong>${Deck.NB_COLORS_MIN}</strong></span>
@@ -60,7 +62,7 @@
</div>
<div class="column field">
<label class="label" for="nbValues">
Nombre de valeurs: <span class="tag is-medium is-light is-primary" id="tooltip-values">${Deck.NB_VALUES_PER_COLOR_MAX}</span>
${translator.translate('new_game_configuration_Deck_parameters_value_number')} <span class="tag is-medium is-light is-primary" id="tooltip-values">${Deck.NB_VALUES_PER_COLOR_MAX}</span>
</label>
<div class="control is-flex is-1">
<span class="mr-1 tag"><strong>${Deck.NB_VALUES_PER_COLOR_MIN}</strong></span>
@@ -76,7 +78,7 @@
<div class="columns">
<jsp:invoke fragment="back_button"/>
<div class="column">
<input type="submit" class="button is-fullwidth is-primary has-text-white" value="Créer la partie"/>
<input type="submit" class="button is-fullwidth is-primary has-text-white" value="${translator.translate('new_game_create')}"/>
</div>
</div>
</form>
@@ -434,5 +434,49 @@
"rules_end" : {
"EN": "Good luck and have fun!",
"FR": "Alors affûtez votre agilité et visez la victoire!"
},
"new_game_configuration_title" : {
"EN": "New game",
"FR": "Nouvelle partie"
},
"new_game_configuration_global_parameters" : {
"EN": "Global parameters",
"FR": "Paramètres Généraux"
},
"new_game_configuration_global_parameters_difficulty" : {
"EN": "Difficulty",
"FR": "Difficulté"
},
"new_game_configuration_rounds_parameters" : {
"EN": "Rounds parameters",
"FR": "Paramètres des manches"
},
"new_game_configuration_rounds_parameters_number" : {
"EN": "Number of rounds",
"FR": "Nombre de manches"
},
"new_game_configuration_rounds_parameters_duration" : {
"EN": "Duration of a round (seconds)",
"FR": "Durée d'une manche (secondes)"
},
"new_game_configuration_Deck_parameters" : {
"EN": "Deck parameters",
"FR": "Paramètres du Deck"
},
"new_game_configuration_Deck_parameters_color_number" : {
"EN": "Number of colors:",
"FR": "Nombre de couleurs :"
},
"new_game_configuration_Deck_parameters_value_number" : {
"EN": "Number of values:",
"FR": "Nombre de valeurs :"
},
"new_game_back" : {
"EN": "Back to main menu",
"FR": "Retour au menu"
},
"new_game_create" : {
"EN": "Create game",
"FR": "Créer la partie"
}
}