From 7862adf99a1349872c63c10aaa5c4b3e78937b82 Mon Sep 17 00:00:00 2001
From: BEAUVAIS ANTOINE <antoine.beauvais@etu.unistra.fr>
Date: Sun, 26 Sep 2021 22:33:43 +0200
Subject: [PATCH] Added internationalization & updated documentation. #1 #4

---
 README.fr.md                                          | 11 ++++++-----
 README.md                                             |  3 ++-
 .../sil/erp/back/controller/web/package-info.java     |  4 ++++
 src/main/resources/messages.properties                | 10 ++++++++++
 src/main/resources/messages_en.properties             | 10 ++++++++++
 src/main/resources/messages_fr.properties             | 10 ++++++++++
 src/main/resources/templates/login.html               |  4 ++--
 7 files changed, 44 insertions(+), 8 deletions(-)
 create mode 100644 src/main/java/fr/unistra/sil/erp/back/controller/web/package-info.java
 create mode 100644 src/main/resources/messages.properties
 create mode 100644 src/main/resources/messages_en.properties
 create mode 100644 src/main/resources/messages_fr.properties

diff --git a/README.fr.md b/README.fr.md
index 0596689..8290444 100644
--- a/README.fr.md
+++ b/README.fr.md
@@ -17,17 +17,18 @@ sur les produits disponibles tels que les prix de chaque article.
 
 [Accueil documentation](https://erp-sil.pages.unistra.fr/back/)
 
-L'API REST est documentée à travers un document OpenAPI qui peut être consulté 
+L'API REST est documentée à travers un fichier OpenAPI qui peut être consulté 
 [ici](https://erp-sil.pages.unistra.fr/back/openapi/index.html).
 
-La documentation Java (Javadoc) du projet est généré automatiquement par 
+La documentation Java (Javadoc) du projet est générée automatiquement par 
 le système d'intégration continue (CI) pour chaque révision de la branche `master` 
 et peut être consultée [ici](https://erp-sil.pages.unistra.fr/back/javadoc/index.html) (en anglais).
 
 ### Exécution
 
 BACK est une application Web [Java Spring](https://spring.io/) utilisant 
-le [système Gradle](https://gradle.org/).
+le [système Gradle](https://gradle.org/). elle utilise [Thymeleaf](https://www.thymeleaf.org) 
+pour les *templates* Web.
 
 Gradle permet d'essayer rapidement l'application en lançant un serveur 
 Web de test [Apache TomCat](https://tomcat.apache.org/) hébergeant 
@@ -48,7 +49,7 @@ Assurez-vous que votre machine possède un kit de développement Java (JDK) vers
 peut être déployé sur une machine ne possédant que la JRE.
 
 Afin que l'application fonctionne, vous devez configurer une clé d'authentification 
-pour l'API de l'application.
+pour l'API REST.
 
 Dans `src/main/resources`, créez un nouveau fichier `apikey.properties` contenant :
 
@@ -89,7 +90,7 @@ ou, sur Microsoft Windows,
 
 Vous pouvez trouver la documentation [ici](https://erp-sil.pages.unistra.fr/back/openapi/index.html).
 
-Utilisez [Postman](https://www.postman.com/) ou [Advanced REST Client](https://install.advancedrestclient.com/install) pour l'appeler l'API REST.
+Utilisez [Postman](https://www.postman.com/) ou [Advanced REST Client](https://install.advancedrestclient.com/install) pour appeler l'API REST.
 
 Tous les appels vers l'API doivent posséder la clé d'authentification configurée
 dans le fichier `apikey.properties` de l'application. Elle doit être spécifiée 
diff --git a/README.md b/README.md
index f0bde40..48253ab 100644
--- a/README.md
+++ b/README.md
@@ -27,7 +27,8 @@ on the `master` branch and can be found [here](https://erp-sil.pages.unistra.fr/
 ### Running
 
 BACK is a [Java Spring](https://spring.io/) Web application built using 
-the [Gradle Build Tool](https://gradle.org/).
+the [Gradle Build Tool](https://gradle.org/). It uses [Thymeleaf](https://www.thymeleaf.org) 
+for Web templates.
 
 Gradle allows you to quickly test the application by running a local 
 test [Apache TomCat](https://tomcat.apache.org/) server that hosts 
diff --git a/src/main/java/fr/unistra/sil/erp/back/controller/web/package-info.java b/src/main/java/fr/unistra/sil/erp/back/controller/web/package-info.java
new file mode 100644
index 0000000..a4467fd
--- /dev/null
+++ b/src/main/java/fr/unistra/sil/erp/back/controller/web/package-info.java
@@ -0,0 +1,4 @@
+/**
+ * Web implementations of the HTTP controllers.
+ */
+package fr.unistra.sil.erp.back.controller.web;
\ No newline at end of file
diff --git a/src/main/resources/messages.properties b/src/main/resources/messages.properties
new file mode 100644
index 0000000..3969e04
--- /dev/null
+++ b/src/main/resources/messages.properties
@@ -0,0 +1,10 @@
+#Application's name.
+application.name=SIL ERP
+#Login page's main title.
+web.ui.login.login=Login
+#Login page: Username label.
+web.ui.login.username=Username
+#Login page: Password label.
+web.ui.login.password=Password
+#Login page: Button's label.
+web.ui.login.submit=Log in
diff --git a/src/main/resources/messages_en.properties b/src/main/resources/messages_en.properties
new file mode 100644
index 0000000..3969e04
--- /dev/null
+++ b/src/main/resources/messages_en.properties
@@ -0,0 +1,10 @@
+#Application's name.
+application.name=SIL ERP
+#Login page's main title.
+web.ui.login.login=Login
+#Login page: Username label.
+web.ui.login.username=Username
+#Login page: Password label.
+web.ui.login.password=Password
+#Login page: Button's label.
+web.ui.login.submit=Log in
diff --git a/src/main/resources/messages_fr.properties b/src/main/resources/messages_fr.properties
new file mode 100644
index 0000000..362c0b6
--- /dev/null
+++ b/src/main/resources/messages_fr.properties
@@ -0,0 +1,10 @@
+#Application's name.
+application.name=SIL ERP
+#Login page's main title.
+web.ui.login.login=Connexion
+#Login page: Username label.
+web.ui.login.username=Nom d'utilisateur
+#Login page: Password label.
+web.ui.login.password=Mot de passe
+#Login page: Button's label.
+web.ui.login.submit=Se connecter
diff --git a/src/main/resources/templates/login.html b/src/main/resources/templates/login.html
index 7e121e1..887851e 100644
--- a/src/main/resources/templates/login.html
+++ b/src/main/resources/templates/login.html
@@ -2,11 +2,11 @@
 <html lang="fr" xmlns:th="http://www.thymeleaf.org">
     <head>
         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-        <title>Connexion - SIL ERP</title>
+        <title th:text="#{web.ui.login.login} +  ' - ' + #{application.name}"></title>
     </head>
 
     <body>
-        <h1>Connexion</h1>
+        <h1 th:text="#{web.ui.login.login}"></h1>
         <p>TODO</p>
     </body>
 </html>
\ No newline at end of file
-- 
GitLab