From e05492f4a85d7fc0481335b8b219f73ee318c77c Mon Sep 17 00:00:00 2001
From: Wawilski <Karpinskiwal@gmail.com>
Date: Thu, 14 Mar 2024 21:27:03 +0100
Subject: [PATCH] Adding all translations

---
 frontend/public/i18n/EN.txt         | 29 +++++++++++++++++++----
 frontend/public/i18n/FR.txt         | 28 +++++++++++++++++++---
 frontend/src/App.vue                |  6 ++---
 frontend/src/Apps/Login.vue         |  2 +-
 frontend/src/Apps/ManageCourses.vue | 36 +++++++++++++++--------------
 frontend/src/Apps/Profil.vue        | 27 +++++++++++-----------
 6 files changed, 87 insertions(+), 41 deletions(-)

diff --git a/frontend/public/i18n/EN.txt b/frontend/public/i18n/EN.txt
index bc4eb40..0ab2250 100644
--- a/frontend/public/i18n/EN.txt
+++ b/frontend/public/i18n/EN.txt
@@ -1,5 +1,3 @@
-# English translations (some examples to remove)
-
 login.guest.signin=Sign in
 login.guest.register=Register
 login.guest.alregister=Already Registered
@@ -15,6 +13,8 @@ login.guest.lastpage=Last Page
 login.guest.submit=Submit
 login.guest.birthday=BIRTHDAY
 login.guest.confirm=CONFIRM
+login.cPassword= Confirm Password
+login.password=Password
 app.home=Home
 app.login=Login
 app.notifications=Notifications
@@ -23,8 +23,29 @@ app.messages=Messages
 app.forum=Forum
 app.schedules=Schedules
 app.inscription.requests=Inscription Requests
+app.manage.courses=Manage Courses
+app.language=Language
+app.manage.profile=Manage profile
 request.moreInfos=More Infos
 request.accept=Accept
 request.refuse=Refuse
-#=====================================================
-
+courses.create=Create course
+courses.delete=Delete course
+courses.modify=Modify
+courses.toDelete=Course to Delete
+courses.confirm=Confirm
+courses.back=Back
+courses.delete=Delete
+profile.modify.data=Modify one's data
+profile.reRegister=Re-register
+profile.unRegister=Unregister
+profile.course.list=Courses list
+profile.address=Address
+profile.picture=Profile picture
+name=Name
+teacher=Teacher
+student=Student
+secretary=Secretary
+curriculum=curriculum
+credits=Credits
+faculty=Faculty
diff --git a/frontend/public/i18n/FR.txt b/frontend/public/i18n/FR.txt
index 42ab8bf..e8eb2cf 100644
--- a/frontend/public/i18n/FR.txt
+++ b/frontend/public/i18n/FR.txt
@@ -1,5 +1,3 @@
-# Traductions françaises (Quelques examples a enlever)
-
 login.guest.signin=SE CONNECTER
 login.guest.register=S'enregistrer
 login.guest.alregister=Déjà Enregistré
@@ -15,6 +13,8 @@ login.guest.lastpage=Derniere Page
 login.guest.submit=Envoyer
 login.guest.birthday=DATE DE NAISSANCE
 login.guest.confirm=CONFIRMER
+login.cPassword=Confirmer mot de passe
+login.password=Mot de passe
 app.home=Home
 app.login=Se connecter
 app.notifications=Notifications
@@ -23,7 +23,29 @@ app.messages=Messages
 app.forum=Forum
 app.schedules=Horaires
 app.inscription.requests=Demandes d'Inscription
+app.manage.courses=Gérer les cours
+app.language=Langue
+app.manage.profile=Gérer le profil
 request.moreInfos=Plus d'Infos
 request.accept=Accepter
 request.refuse=Refuser
-#=====================================================
+courses.create=Créer cours
+courses.delete=Supprimer cours
+courses.modify=Modifier
+courses.toDelete=Cours à supprimer
+courses.confirm=Confirmer
+courses.back=Retour
+courses.delete=Supprimer
+profile.modify.data=Modifier données personnelles
+profile.reRegister=Réinsciption
+profile.unRegister=Désinscription
+profile.course.list=Liste des cours
+profile.address=Adresse
+profile.picture=Photo de profil
+name=Nom
+teacher=Enseignant
+student=Etudiant
+secretary=Secrétaire
+curriculum=Cursus
+credits=Credits
+faculty=Faculté
diff --git a/frontend/src/App.vue b/frontend/src/App.vue
index 114cacc..069b5c3 100644
--- a/frontend/src/App.vue
+++ b/frontend/src/App.vue
@@ -59,7 +59,7 @@
             <a class="icon" >
                 <div  class="fa-solid fa-gear"  style="margin-top: 7px; margin-bottom: 3px;"></div>
                 <div v-if="active" class="dropdown">
-                  <div class="dropdown-content">Langage</div>
+                  <div class="dropdown-content">{{i18n("app.language")}}</div>
                   <ul style="list-style-type:none;">
                     <li style=" margin-bottom:10px;margin-right:20px;float:left; font-size:10px; color:black;">
                       <button @:click="setLang('en');" href="#home">EN</button>
@@ -69,7 +69,7 @@
                   </ul>
                   <div style='align-items:center;'>
                   <a style="cursor:pointer;font-size:20px;" href="#/profil" class="dropdown-content">
-                    Manage Profile
+                    {{i18n("app.manage.profile")}}
                   </a>
                   </div>
 
@@ -104,7 +104,7 @@
 
         <li><a href="#/manage-courses">
             <div class="fa-solid fa-book" style="align-self:center;font-size: 40px;overflow:none;"></div>
-            <div class="text">Manage courses</div></a></li>
+            <div class="text">{{i18n("app.manage.courses")}}</div></a></li>
     </ul>
 
     </div>
diff --git a/frontend/src/Apps/Login.vue b/frontend/src/Apps/Login.vue
index 1927230..aed9ccb 100644
--- a/frontend/src/Apps/Login.vue
+++ b/frontend/src/Apps/Login.vue
@@ -100,7 +100,7 @@
                 <input type="text" v-model="country">
               </div>
               <div class="inputBox">
-                <p>CURSUS</p> 
+                <p>{{i18n("curriculum").toUpperCase()}}</p> 
                   <select v-model="cursus">
                     <option value="Chemistry">Chemistry</option>
                     <option value="Psycho">Psychology</option>
diff --git a/frontend/src/Apps/ManageCourses.vue b/frontend/src/Apps/ManageCourses.vue
index d92fcf9..3a5bbb4 100644
--- a/frontend/src/Apps/ManageCourses.vue
+++ b/frontend/src/Apps/ManageCourses.vue
@@ -1,5 +1,5 @@
 <script setup>
-
+  import i18n from "@/i18n.js"
   import {ref} from 'vue'
 const cursus=[
   {
@@ -95,69 +95,71 @@ const cursus=[
   <div class="body">
     <div v-if="!deleteMod && !createMod" class="listTitle buttonGrid">
       <button class="create" @click="createMod = true">
-        Create Course
+        {{i18n("courses.create")}}
       </button>
       <button class="delete" @click="deleteMod=true" >
-        Delete Course
+        {{i18n("courses.delete")}}
       </button>
     </div>
     <div v-if="createMod">
       <form class="listElement">
         <div style="margin-bottom:20px;">
-         Name: 
+         {{i18n("name")}} : 
         <input v-model="toAdd.name">
         </div>
         <div style="margin-bottom:20px;">
-          Teacher: 
+          {{i18n("teacher")}} : 
          <select style="max-width:200px;" class="teacher" v-model="toAdd.teacher">
           <option v-for="item in profList">{{item}}</option>
         </select>
         </div>
         <div style="margin-bottom:20px;">
-          Credits: 
+          {{i18n("credits")}} : 
         <input v-model="toAdd.credits">
         </div>
         <div style="margin-bottom:20px;">
-          Faculty: 
+          {{i18n("faculty")}} : 
         <input v-model="toAdd.faculty">
         </div>
-      <button class="create" @click="createMod=!createMod; addToCourse();"> Confirm </button>
-      <button style="float:right;" @click="createMod=!createMod"> Back</button>
+      <button class="create" @click="createMod=!createMod; addToCourse();"> {{i18n("courses.confirm")}} </button>
+      <button style="float:right;" @click="createMod=!createMod">{{i18n("courses.back")}}</button>
       </form>
     </div>
     <div v-if="deleteMod">
       <form class="listElement">
         <div style="margin-bottom:20px;">
-          Course to delete: 
+          {{i18n("courses.toDelete")}} :
          <select style="max-width:200px;" class="teacher" v-model="toRemove">
           <option v-for="item in cursus">{{item.name}}</option>
           
         </select>
         </div>
         <div style="margin-bottom:20px;">
-          Password: 
+          {{i18n("login.password")}}: 
         <input >
         </div>
         <div style="margin-bottom:20px;">
-          Confirm Password: 
+          {{i18n("login.cPassword")}} : 
         <input>
         </div>
-      <button class="delete" @click="deleteMod=!deleteMod;removeCourse();"> Delete </button>
-      <button style="float:right;" @click="deleteMod=!deleteMod"> Back</button>
+        <button class="delete" @click="deleteMod=!deleteMod;removeCourse();"> {{i18n("courses.delete")}} </button>
+        <button style="float:right;" @click="deleteMod=!deleteMod"> {{i18n("courses.back")}}</button>
       </form>
     </div>
 
     <div v-if="!createMod && !deleteMod" v-for="item in cursus" :key="item.name">
       <div style ="padding:15px 15px 15px 15px;">
-      <button  v-if="editElementID !== item.name"  @click="editElementID = item.name"> Modify</button>
-      <button v-else @click="editElementID= ''"> Confirm </button>
+      <button  v-if="editElementID !== item.name"  @click="editElementID = item.name">
+        {{i18n("courses.modify")}}
+      </button>
+      <button v-else @click="editElementID= ''"> {{i18n("courses.confirm")}} </button>
       </div>
       <div  class="listElement" > 
       <div class="containerElement" v-if="editElementID !== item.name" >
 
         <div class="name"> {{item.name}} </div>
         <div class="teacher">{{item.teacher}}</div> 
-        <div class="credits">Credits:{{item.credits}}</div>  
+        <div class="credits">{{i18n("credits")}}:{{item.credits}}</div>  
       </div>
       <div class="containerElement"v-else>
         <input style="max-width:200px;" class="name" v-model="item.name">
diff --git a/frontend/src/Apps/Profil.vue b/frontend/src/Apps/Profil.vue
index 7a97a68..8068690 100644
--- a/frontend/src/Apps/Profil.vue
+++ b/frontend/src/Apps/Profil.vue
@@ -1,6 +1,7 @@
 <script setup>
   import {reactive, ref} from 'vue'
   import {getUser} from '../rest/Users.js'
+  import i18n from "@/i18n.js"
  /* 
   const user = getUser(); 
 */
@@ -84,23 +85,23 @@ const toModify = Object.assign({}, user);
             E-mail: {{user.email}}      
           </div>
           <div v-if="user.role==='student'">
-            {{user.option}} {{user.role.toUpperCase()}} 
+            {{user.option}} {{i18n(user.role).toUpperCase()}} 
           </div>
           <div v-else>
-            Faculty: {{user.faculty}} 
-            Role: {{user.role}}
+            {{i18n("faculty")}}: {{user.faculty}} 
+            Role:  {{i18n(user.role).toUpperCase()}} 
           </div>
           <div>
-            <button @click="modif=!modif"> Modifier données personnelles </button>
+            <button @click="modif=!modif"> {{i18n("profile.modify.data")}} </button>
           </div>
           <div v-if="(user.role==='student')">
-            <button>Réinscription</button>
-            <button style="float:right;background-color:rgb(150,0,0);">Désinscription</button>
+            <button>{{i18n("profile.reRegister")}}</button>
+            <button style="float:right;background-color:rgb(150,0,0);">{{i18n("profile.unRegister")}}</button>
           </div>
         </div>
         <div v-else class="infosContainer">
           <div>
-            Profil Picture
+            {{i18n("profile.picture")}}:
             <input type="file">
           </div>
           <div>
@@ -108,19 +109,19 @@ const toModify = Object.assign({}, user);
             <input type="mail" v-model="toModify.email" />
           </div>
           <div>
-            Address:
+            {{i18n("profile.address")}}:
             <input type="text" v-model="toModify.address">
           </div>
           <div>
-            Password
+            {{i18n("login.password")}}:
             <input type="password" v-model="toModify.password">
           </div>
           <div>
-            Confirm Password
+            {{i18n("login.cPassword")}}:
             <input type="password" id="confirm">
           </div>
           <div>
-            <button @click=" modif=!modif">Confirm</button>
+            <button @click=" modif=!modif">{{i18n("courses.confirm")}}</button>
           </div>
         </div>
       </div>
@@ -128,7 +129,7 @@ const toModify = Object.assign({}, user);
 
         <div v-if="(user.role==='student')">
           <div class="listTitle">
-           Liste des cours
+            {{i18n("profile.course.list")}}
           </div>
         <div  class="listElement "
           v-for="item in user.cursus">
@@ -145,7 +146,7 @@ const toModify = Object.assign({}, user);
     
       <div v-if="(user.role==='teacher')">
           <div class="listTitle">
-           Liste des cours
+            {{i18n("profile.course.list")}}
           </div>
           <div class="listElement " v-for="item in user.coursesOwned">
           {{item.name}}