From 526f64cc48f878f30a0bafec02b7dd169732e70c Mon Sep 17 00:00:00 2001 From: sleepndraw Date: Tue, 28 May 2024 12:09:41 +0200 Subject: [PATCH] traduccion terminada --- app/about/page.js | 11 +-- app/courses/page.js | 5 +- app/projects/page.js | 5 +- app/team/page.js | 133 +++++++++++++++++++----------------- app/tools/page.js | 110 ++++++++++++++--------------- components/BulletElement.js | 22 +++--- components/projectCard.js | 10 +-- constants/BulletElement.js | 8 +-- constants/langs/en.js | 56 ++++++++++++++- constants/langs/es.js | 59 +++++++++++++++- constants/team.js | 87 +++++++++++++---------- constants/tools.js | 32 +++++---- 12 files changed, 341 insertions(+), 197 deletions(-) diff --git a/app/about/page.js b/app/about/page.js index d8c6a62..8c0ecb4 100644 --- a/app/about/page.js +++ b/app/about/page.js @@ -2,14 +2,15 @@ import Header from "@/components/Header"; import Footer from "@/components/Footer"; +import { useTranslation } from 'react-i18next'; export default function About (props) { - + const { t } = useTranslation(); return (
-

Contact

+

{t('contact.title')}

@@ -21,7 +22,7 @@ export default function About (props) {
-

Where are we?

+

{t('contact.title2')}

@@ -38,13 +39,13 @@ export default function About (props) { Edificio B
-

Contact

+ {/*

Contact

*/}
  • E-mail

    gi.internetng@upm.es

  • -

    Phone

    91 336 73 31

    +

    {t('contact.listTitle2')}

    91 336 73 31

  • Fax

    91 336 73 33

    diff --git a/app/courses/page.js b/app/courses/page.js index cb462b9..27dac71 100644 --- a/app/courses/page.js +++ b/app/courses/page.js @@ -8,10 +8,11 @@ import Link from "next/link"; import { mycourses } from "@/constants/courses.js"; import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; import { faArrowRight } from '@fortawesome/free-solid-svg-icons'; +import { useTranslation } from 'react-i18next'; export default function Courses() { const [courses, setCourses] = useState(mycourses); - + const { t } = useTranslation(); useEffect(() => { window.scrollTo(0, 0); }, []); @@ -47,7 +48,7 @@ export default function Courses() {
    -
    Ir al curso
    +
    {t('courses.button')}
diff --git a/app/projects/page.js b/app/projects/page.js index a914a00..093607a 100644 --- a/app/projects/page.js +++ b/app/projects/page.js @@ -8,10 +8,11 @@ import ProjectCard from "@/components/projectCard"; import { myprojectCards } from "@/constants/projectsCards.js"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faArrowRight } from "@fortawesome/free-solid-svg-icons"; +import { useTranslation } from 'react-i18next'; export default function Projects() { const [projects, setProjects] = useState(myprojectCards); - + const { t } = useTranslation(); useEffect(() => { window.scrollTo(0, 0); }, []); @@ -20,7 +21,7 @@ export default function Projects() {
-

Projects

+

{t('projects.title')}

diff --git a/app/team/page.js b/app/team/page.js index 219dbce..3f04533 100644 --- a/app/team/page.js +++ b/app/team/page.js @@ -4,11 +4,13 @@ import { useEffect, useState } from "react"; import Header from "@/components/Header"; import Footer from "@/components/Footer"; import { myteam } from "@/constants/team"; -import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; -import { faEnvelope } from '@fortawesome/free-solid-svg-icons'; +import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; +import { faEnvelope } from "@fortawesome/free-solid-svg-icons"; +import { useTranslation } from "react-i18next"; export default function Team(props) { const [team, setTeam] = useState(myteam); + const { t } = useTranslation(); useEffect(() => { window.scrollTo(0, 0); @@ -18,74 +20,83 @@ export default function Team(props) {
-

Team

+

{t('team.title')}

{Object.values(team).map(({ members }) => { return members.map( - ({ - name, - description, - role, - position, - photo, - github, - email, - center, - }) => { - const emailAddress = email ? email.split("@") : null; - return ( -
-
- - {"Team - -
+ ({ + name, + description, + role, + position, + photo, + github, + email, + center, + translationKey, + }) => { + const emailAddress = email ? email.split("@") : null; + const translatedRole = t(`${translationKey}`); + const translatedPosition = t(position); + return ( +
+
+ + {"Team + +
-
-
-

{name}

-
-
- - {role}{" "} - -
-
-

- {center} -

- {/**/} {email}

-
-
- {position} -
-
- {/*

{description}

*/} -

- - {/*emailAddress ? +

+
+

{name}

+
+
+ + {translatedRole}{" "} + +
+
+

{center}

+ + {" "} + {/**/} {email} + {" "} +

+
+
+ + {translatedPosition} + +
+
+ {/*

{description}

*/} +

+ + {/*emailAddress ? ({emailAddress[0]} at {emailAddress[1]} ):""*/} - -

-
-
-
- ); - } - - + +

+
+
+
+ ); + } ); })}
diff --git a/app/tools/page.js b/app/tools/page.js index fbacd82..d0bc620 100644 --- a/app/tools/page.js +++ b/app/tools/page.js @@ -1,100 +1,96 @@ -"use client" +"use client"; import Header from "@/components/Header"; import Footer from "@/components/Footer"; -import React from "react" -import Masonry, { ResponsiveMasonry } from "react-responsive-masonry" +import React, { useState, useEffect } from "react"; +import Masonry, { ResponsiveMasonry } from "react-responsive-masonry"; import Link from 'next/link'; -import image from 'next/image'; -import { useState, useEffect } from 'react'; import { mytools } from "@/constants/tools"; import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; import { faArrowRight } from '@fortawesome/free-solid-svg-icons'; -import { - faGit, - faGithub, - faTwitter, - faYoutube, -} from "@fortawesome/free-brands-svg-icons"; +import { faGithub } from "@fortawesome/free-brands-svg-icons"; import { useTranslation } from 'react-i18next'; export default function Tools(props) { - const { t } = useTranslation(); - const [tools, setTools] = useState(mytools); + const { t, i18n } = useTranslation(); + const [tools, setTools] = useState([]); + + // Update tools when language changes + useEffect(() => { + const translatedTools = mytools.map(({ logo, route, title, translationKey, github, gradient, key, description }) => ({ + title, + logo, + route, + github, + gradient, + key, + description:t(translationKey) + })); + setTools(translatedTools); + }, [i18n.language, t]); useEffect(() => { window.scrollTo(0, 0); }, []); - + return (
-

Tools

+

{t('tools.title')}

-
- - - {tools.map(({ title, description, route, logo, github, gradient }) => { - return ( -
- -
- {"Project + {tools.map(({ title, description, route, logo, github, gradient, key }) => ( +
+
+ {"Project +
+
+
+

{title}

- -
-
-

{title}

-
-
-

{description}

-
-
- - - -
+
+

{description}

+
+
+ +
-
- - ); - })} +
+ ))}
- ) - - + ); } + const CreateLink = (props) => { - return props.route.match("http") ? ( + return props.route.match(/^http/) ? ( {props.children} ) : ( - + {props.children} ); -} \ No newline at end of file +} diff --git a/components/BulletElement.js b/components/BulletElement.js index 9483ff9..bb9ebc6 100644 --- a/components/BulletElement.js +++ b/components/BulletElement.js @@ -1,21 +1,25 @@ -import React, { useState } from "react"; -import Link from "next/link"; -import { myBulletElements } from "@/constants/BulletElement"; +import React from "react"; import { useTranslation } from 'react-i18next'; - - +import { myBulletElements } from "@/constants/BulletElement"; export default function BulletElements(props) { - const [bulletElements, setBulletElements] = useState(myBulletElements); const { t } = useTranslation(); + + + const bulletElements = myBulletElements.map(({ translationKey, letter, key }) => ({ + title: t(translationKey), + letter, + key, + })); + return (
- {bulletElements.map(({ title, letter }, index) => ( -
+ {bulletElements.map(({ title, letter, key }) => ( +
{title}

{letter}

))}
); -} \ No newline at end of file +} diff --git a/components/projectCard.js b/components/projectCard.js index 8aeeb49..7c5dd45 100644 --- a/components/projectCard.js +++ b/components/projectCard.js @@ -3,10 +3,12 @@ import Link from "next/link"; import { myProjectCards } from "@/constants/projectsCards"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faUpRightFromSquare } from "@fortawesome/free-solid-svg-icons"; +import { useTranslation } from 'react-i18next'; export default function projectCards(props) { const [projectCards, setProjectCards] = useState(myProjectCards); const [selectedCategory, setSelectedCategory] = useState("all"); + const { t } = useTranslation(); const handleCategoryChange = (category) => { setSelectedCategory(category); @@ -24,14 +26,14 @@ export default function projectCards(props) { return (
- + - +
{projectCards.map( diff --git a/constants/BulletElement.js b/constants/BulletElement.js index ecd2cc7..8df6c16 100644 --- a/constants/BulletElement.js +++ b/constants/BulletElement.js @@ -1,18 +1,18 @@ -import i18next from 'i18next'; + export const myBulletElements = [ { - title: i18next.t('front.bulletElements.bulletA'), + translationKey: 'front.bulletElements.bulletA', letter: "A", key: "1", }, { - title: i18next.t('front.bulletElements.bulletD'), + translationKey: 'front.bulletElements.bulletD', letter: "D", key: "2", }, { - title: i18next.t('front.bulletElements.bulletF'), + translationKey: 'front.bulletElements.bulletF', letter: "F", key: "3", }, diff --git a/constants/langs/en.js b/constants/langs/en.js index e42fa2c..616eaf7 100644 --- a/constants/langs/en.js +++ b/constants/langs/en.js @@ -32,7 +32,7 @@ export const en = { "topR":"Performing of advanced tele-education experiments", "bottomL":"Creation of advanced platforms for the introduction of ICTs in education", "bottomM":"Research on educational standards", - "bottomMsub":"SCROM | LORM", + "bottomMsub":"SCROM | LOM", "bottomR":"Creation of learning objects through authoring tools ", }, @@ -55,10 +55,60 @@ export const en = { "button2": "load more", }, "courses": { - "title": "Courses" + "title": "Courses", + "button": "go to course", + }, + "projects": { + "title": "Projects", + "filterTitle1":"All", + "filterTitle2":"Projects - individual", + "filterTitle3":"Educational Research Group (GIE/ERG)", + "filterTitle4":"Other", + }, + "team": { + "title": "Team", + "professorCards":{ + "roles":{ + "1":"Professor", + "2":"Associate professor", + "3":"Assistant professor", + "4":"Researcher", + "5":"Intern", + }, + "positions":{ + "1":"Coordinator", + }, + }, + }, + "contact": { + "title": "Contact", + "title2": "Where are we?", + "listTitle2":"Teléfono", + "body": "", }, "footer": { "title1":"sections", "title2": "social media" - } + }, + "tools":{ + "title":"herramientas", + "toolCards":{ + + "description":{ + "1":"SGAME is a free web platform meant for the entire educational community that allows users to easily create educational web games by integrating educational resources into existing games.", + "2":"The purpose of this project is to encourage and facilitate the completion of educational escape rooms in UPM subjects. To accomplish this, a platform that facilitates the management of the activity has been developed. In this platform, the teacher can create an escape room instance where the students can access and that once the activity has been completed, it automatically collects the progress and achievement data of the students. In addition, a methodological guide has been developed to import the concept of escape room into university education using the platform developed. ", + "3":"This quiz converter facilitates the conversion between different formats: Moodle XML, Aiken and JSON.", + "4": "This website allows users to customize their very own quiz application and generate a SCORM package ready to upload to their preferred LMS. This project was developed using RESCORM.", + "5": "Web-based editor to create self-graded HTML and JavaScript exercises.", + "6": "LOEP (Learning Object Evaluation Platform) is an open source web-based platform developed using Ruby on Rails that aims to facilitate the evaluation of small and self-contained web educational resources, known as Learning Objects, in different scenarios and educational contexts. It has been designed to provide systematic evaluation of Learning Objects and generation of quality scores to e-Learning systems according to multiple evaluation models and quality metrics. LOEP provides several features including user and Learning Object management, Learning Object evaluations tools, review assignments, interoperability with e-Learning systems, and statistics. ", + "7":"A Hybrid Learning Object Recommender System based on Europeana. ", + "8": "RESCORM is a boilerplate for creating SCORM-compliant React applications that aims to facilitate developers the creation of SCORM-compliant learning resources.", + + }, + "button":"Go to tool", + + + + }, + }, } \ No newline at end of file diff --git a/constants/langs/es.js b/constants/langs/es.js index cf4d032..e9b54e2 100644 --- a/constants/langs/es.js +++ b/constants/langs/es.js @@ -32,7 +32,7 @@ export const es = { "topR":"Realización de experimentos avanzados de teleeducación", "bottomL":"Creación de plataformas avanzadas para introducción de las TIC en la enseñanza. ", "bottomM":"Investigación sobre estándares en educación", - "bottomMsub":"SCROM | LORM", + "bottomMsub":"SCROM | LOM", "bottomR":"Creación de objetos de aprendizaje mediante herramientas de autor ", }, @@ -54,10 +54,63 @@ export const es = { "button2": "ver más", }, "courses": { - "title": "Cursos" + "title": "Cursos", + "button": "ir al curso", + }, + "projects": { + "title": "Proyectos", + "filterTitle1":"Todos", + "filterTitle2":"Proyectos - individual", + "filterTitle3":"Grupo de investigación educativa (GIE)", + "filterTitle4":"Otros", + + }, + "team": { + "title": "Equipo", + "professorCards":{ + "roles":{ + "1":"Profesor", + "2":"Profesor asociado", + "3":"Profesor auxiliar", + "4":"Investigador/a", + "5":"Becario/a", + }, + "positions":{ + "1":"Coordinador", + }, + }, + }, + "contact": { + "title": "Contacto", + "title2": "¿Dónde estamos?", + "listTitle":"E-mail", + "listTitle2":"Teléfono", + + "body": "", }, "footer": { "title1":"secciones", "title2": "redes sociales" - } + }, + "tools":{ + "title":"herramientas", + "toolCards":{ + + "description":{ + "1":"SGAME es una plataforma gratuita diseñada para toda la comunidad educativa, que permite a los usuarios crear con facilidad juegos web educativos integrando recursos educativos a juegos ya existentes. ", + "2":"El propósito de este proyecto es fomentar y facilitar la realización de escape rooms educacionales en asignaturas de UPM. Para lograr esto, se ha desarrollado una plataforma que facilita la administración de la actividad desarrollada. En esta plataforma, el profesor puede crear una instancia de escape room la cual los estudiantes pueden acceder y que recolecta automáticamente el progreso y los datos de logros de los estudiantes una vez ha sido completada. Además de esto, se ha desarrollado una guía metodológica para importar el concepto de la escape room en la formación universitaria. ", + "3":"Este convertidor de quiz facilita la conversión entre los diferentes formatos: Moodle XML, Aiken y JSON", + "4": "Esta web permite a los usuarios personalizar sus propias aplicaciones de quiz y generar un paquete SCORM listo para subir a su LMS de preferencia. Este proyecto se desarrolló usando RESCORM.", + "5": "Editor web-based para crear ejercicios auto calificados de HTML y Javascript ", + "6": "LOEP (Learning Object Evaluation Platform) es una plataforma web-based de código abierto desarrollada usando Ruby on Rails que pretende facilitar la evaluación de pequeños recursos web educacionales autocontenidos, conocidos como Learning Objects, en diferentes escenarios y contextos educacionales. Se ha diseñado para proporcionar evaluación sistemática de los Learning Objects y generar calificaciones de calidad para sistemas de e-Learning de acuerdi con múltiples modelos de evaluación y métricas de calidad. LOEP proporciona gran cantidad de características incluyendo la administración de usuario y Learning Object, herramientas de evaluación de Learning Objects, revisión de tareas, interoperabilidad con sistemas de e-Learning, y estadísticas. ", + "7":"Un sistema recomendador híbrido de Learning Objects basado en Europeana ", + "8": "RESCORM es un boilerplate para crear aplicaciones de React que cumplan con SCORM cuya finalidad es facilitar a los desarrolladores la creación de recursos de aprendizaje SCORM.", + + }, + "button":"Ir a herramienta", + + + + }, +} } \ No newline at end of file diff --git a/constants/team.js b/constants/team.js index 5c1aa3e..9baca84 100644 --- a/constants/team.js +++ b/constants/team.js @@ -4,13 +4,14 @@ export const myteam = { "members":[ { "name":"Juan Quemada", - "role": "Professor", + "translationKey": "team.professorCards.roles.1", "position": "", "description":"Juan Quemada leads the Next Generation Internet Group within the Telematics Engineering Department, Universidad Politécnica de Madrid (UPM), where he is Full Professor. He is also the Telefonica Chair of UPM, for the next-generation Internet, and the UPM Representative at the World Wide Web Consortium. His research interests include collaborative and social application architecture for the Internet and the Web, including cloud computing, where he has a strong involvement in European and Spanish research.", "photo":"/assets/img/team/juan-quemada.jpg", "github":"https://github.com/jquemada", "email": "juan.quemada@upm.es", - "center": "E.T.S. de ingenieros de telecomunicacion" + "center": "E.T.S. de ingenieros de telecomunicacion", + "key": "1" } ] }, @@ -19,69 +20,76 @@ export const myteam = { "members":[ { "name":"Joaquín Salvachúa", - "role": "Associate Professor", + "translationKey": "team.professorCards.roles.2", "position": "", "description":"Joaquín Salvachúa is a professor at UPM, where he received the M.Sc., Ph.D. in Telecommunications Engineering. He is also FIWARE Technical Steering Committee member elected as Remarkable individuals. His research interests include advanced cloud and edge architectures, big data infrastructure, data privacy and usage control, NoSql databases, applications, and identity in blockchain.", "photo":"/assets/img/team/joaquin-salvachua.jpg", "github":"https://github.com/jsalvachua", "email": "joaquin.salvachua@upm.es", - "center": "E.T.S. de ingenieros de telecomunicacion" + "center": "E.T.S. de ingenieros de telecomunicacion", + "key": "2" }, { "name":"Santiago Pavón", - "role": "Associate Professor", + "translationKey": "team.professorCards.roles.2", "position": "", "description":"Santiago Pavón Gómez obtained the B.S. and Ph.D. in Telecommunication Engineer from the Universidad Politécnica de Madrid (UPM) in 1987 and 1990 respectively. Santiago obtained the position of Assistant Professor in 1991 and the position of Associate Professor in 1992. He has published several articles and participated in national and international research projects related to Formal Description Techniques, CSCW, Tele-Education, collaboration services, IPv6, virtualization, identity services, safely (Cyspa) and Blockchain (BAPI).", "photo":"/assets/img/team/santiago-pavon.jpg", "github":"https://github.com/sanpago", "email": "santiago.pavon@upm.es", - "center": "E.T.S. de ingenieros de telecomunicacion" + "center": "E.T.S. de ingenieros de telecomunicacion", + "key": "3" }, { "name":"Gabriel Huecas", "position": "", - "role": "Associate Professor", + "translationKey": "team.professorCards.roles.2", "description":"Gabriel Huecas, Ph.D in Telecommunications Engineering, is currently the Postgraduate Assistant Director at the School of Telecommunications Engineering of Universidad Politécnica de Madrid (UPM), as well as a professor at the same institution. He is the author of different Java 2 programming books.", "photo":"/assets/img/team/gabriel-huecas.jpg", "github":"https://github.com/ghuecas", "email": "gabriel.huecas@upm.es", - "center": "E.T.S. de ingenieros de telecomunicacion" + "center": "E.T.S. de ingenieros de telecomunicacion", + "key": "4" }, { "name":"Enrique Barra", - "position":"Coordinator", - "role": "Associate Professor", + "position":"team.professorCards.positions.1", + "translationKey": "team.professorCards.roles.2", "description":"Enrique Barra is a professor at Telematic Engineering Department, School of Telecommunications Engineering. He received the Ph.D. degree in Telematic Engineering with minoring in Multimedia and Technology Enhanced Learning from Universidad Politécnica de Madrid (UPM).He has participated in many European projects, such as GLOBAL, FIWARE, and C@R. He is currently involved in several projects contributing to the generation and distribution of educational content in TEL environments. His research interests include videoconferencing, games in education, and social networks in education.", "photo":"/assets/img/team/enrique-barra.jpg", "github":"https://github.com/ebarra", "email": "enrique.barra@upm.es", - "center": "E.T.S. de ingenieros de telecomunicacion" + "center": "E.T.S. de ingenieros de telecomunicacion", + "key": "5" }, { "name":"Álvaro Alonso", - "role": "Associate Professor", + "translationKey": "team.professorCards.roles.2", "description":"Álvaro Alonso, Ph.D. in Telecommunications Engineering, Professor at the Telematic Systems Engineering Department, School of Telecommunications Engineering, is a WebHTML5 Videoconference and Cloud Computing expert.He is the author of several articles and participates in a lot of Spanish and European research projects. His research interests include multi-conferencing systems in cloud computing, security, and the IoT in the future Internet.", "photo":"/assets/img/team/alvaro-alonso.jpg", "github":"https://github.com/aalonsog", "email": "alvaro.alonso@upm.es", - "center": "E.T.S. de ingenieros de telecomunicacion" + "center": "E.T.S. de ingenieros de telecomunicacion", + "key": "6" }, { "name":"Aldo Gordillo", - "role": "Associate Professor", + "translationKey": "team.professorCards.roles.2", "description":"Aldo Gordillo received the degree in Telecommunications Engineering and the PhD degree in Telematics Engineering from UPM, in 2012 and 2017, respectively. From 2012 to 2017, he was a Research and Development Engineer with the Telematics Engineering Department, UPM. He is currently an Assistant Professor with the Computer Science Department, also at UPM. His research interests include the field of technology-enhanced learning, with a special focus on creation, evaluation, and dissemination of e-learning resources, computer science education, game-based learning, and e-learning systems.", "photo":"/assets/img/team/aldo-gordillo.jpg", "github":"https://github.com/agordillo", "email": "a.gordillo@upm.es", - "center": "E.T.S de ing. de sistemas informáticos" + "center": "E.T.S de ing. de sistemas informáticos", + "key": "7", }, { "name":"Pedro Reviriego", - "role": "Associate Professor", + "translationKey": "team.professorCards.roles.2", "description":"Pedro Reviriego received the M.Sc. and Ph.D. degrees in telecommunications engineering from the Technical University of Madrid, Madrid, Spain, in 1994 and 1997, respectively. From 1997 to 2000, he was an Engineer with Teldat, Madrid, working on router implementation. In 2000, he joined Massana to work on the development of 1000BASE-T transceivers. From 2004 to 2007, he was a Distinguished Member of Technical Staff with the LSI Corporation, working on the development of Ethernet transceivers. From 2007 to 2018 he was with Nebrija University, from 2018 to 2022 with Universidad Carlos III de Madrid. He is currently with Universidad Politécnica de Madrid working on probabilistic data structures, high speed packet processing and machine learning.", "photo":"/assets/img/team/PR.jpg", "email": "pedro.reviriego@upm.es", - "center": "E.T.S. de ingenieros de telecomunicacion" + "center": "E.T.S. de ingenieros de telecomunicacion", + "key": "8", } ] }, @@ -90,39 +98,43 @@ export const myteam = { "members":[ { "name":"Jose Andres Muñoz", - "role": "Assistant Professor", + "translationKey": "team.professorCards.roles.3", "description":"Andrés received the B.S. in Telematic Engineering from Escuela Superior Politécnica del Litoral (ESPOL) in 2013 He received the M.Sc. in Telematic Services and Network Engineering from Universidad Politécnica de Madrid (UPM). Andrés is currently a Ph.D. student in Telecommunications Engineering and a Researcher with the Next Generation Internet Research Group. His previous experience includes Telematic Laboratories Coordination or Servers and Communications Assistant, both in ESPOL.Andres has carried out different research projects, such as Web Platform Development for Control and Monitoring of Environmental Parameters in Agriculture or Kiswar Proyect Reactive Evacuation Management Systemsfor Emergency Situations.", "photo":"/assets/img/team/jose-andres-munoz.jpg", "github":"https://github.com/anmunoz", "email": "joseandres.munoz@upm.es", - "center": "E.T.S. de ingenieros de telecomunicacion" + "center": "E.T.S. de ingenieros de telecomunicacion", + "key": "9", }, { "name":"Alejandro Pozo", - "role": "Assistant Professor", + "translationKey": "team.professorCards.roles.3", "description":"Researcher and Ph.D. student at Politécnica of Madrid (UPM). He received the M.Sc. in Telecommunications Engineering from the UPM, Spain, in 2017, where he is currently pursuing the Ph.D. in Telecommunications Engineering and is a Research Assistant with the Next Generation Internet Research Group. He participates in several European projects and publishes results in journals related to the Internet of Things, security, and identity management.", "photo":"/assets/img/team/alejandro-pozo.jpg", "github":"https://github.com/apozohue10", "email": "alejandro.pozo@upm.es", - "center": "E.T.S. de ingenieros de telecomunicacion" + "center": "E.T.S. de ingenieros de telecomunicacion", + "key": "10", }, { "name":"Javier Conde", - "role": "Assistant Professor", + "translationKey": "team.professorCards.roles.3", "description":"PhD student in Telematics Engineering at UPM and researcher in the Department of Telematics Engineering. He received the B.S. and M.Sc. in Telecommunications Engineering from UPM in 2018 and 2020. His research interests lie in the fields of Open Linked Data, Digital Twins, Big Data and Machine Learning.", "photo":"/assets/img/team/javier-conde.jpg", "github":"https://github.com/javicond3", "email": "javier.conde.diaz@upm.es", - "center": "E.T.S. de ingenieros de telecomunicacion" + "center": "E.T.S. de ingenieros de telecomunicacion", + "key": "11", }, { "name":"Sonsoles López-Pernas", - "role": "Assistant Professor", + "translationKey": "team.professorCards.roles.3", "description":"Sonsoles has a PhD in Telematics Engineering from Universidad Politécnica de Madrid (UPM). Since 2015, she has conducted her research at the GING research group. She is currently an Assistant Professor at the Department of Computer Science at UPM. Her research interests include technology-enhanced learning, educational escape rooms, learning analytics, and data usage control.", "photo":"/assets/img/team/sonsoles-lopez.jpg", "github":"https://github.com/sonsoleslp", "email": "sonsoles.lopez.pernas@upm.es", - "center": "E.T.S. de ingenieros de telecomunicacion" + "center": "E.T.S. de ingenieros de telecomunicacion", + "key": "12", } ] }, @@ -131,30 +143,33 @@ export const myteam = { "members":[ { "name":"Carlos Arriaga", - "role": "Researcher", + "translationKey": "team.professorCards.roles.4", "description":" Carlos is a Ph.D. student in Telecommunication Engineering at Universidad Politécnica de Madrid (UPM). He received the B.S. and M.Sc. in Telecommunications Engineering from UPM in 2020 and 2022. His research interests lie in primarily in the field of video-conference scalability and WebRTC.", "photo":"/assets/img/team/carlos-arriaga.jpg", "github":"https://github.com/Arri98", "email": "carlos.arriaga.prieto@upm.es", - "center": "E.T.S. de ingenieros de telecomunicacion" + "center": "E.T.S. de ingenieros de telecomunicacion", + "key": "13", }, { "name":"Iciar Villamayor", - "role": "Researcher", + "translationKey": "team.professorCards.roles.4", "description":"Iciar is a UX/UI designer. She received the B.S and M.Sc in graphic design and interactive graphic design from Escuela Superior de Diseño de Madrid in 2020 and 2021. She's currently teaching at Escuela Superior de Diseño de Madrid. She collaborates with the GING as a Graphic Designer.", "photo":"/assets/img/team/iciar-villamayor.jpg", "github":"https://github.com/IciarVillamayor", "email": "iciarvillamayor@hotmail.com", - "center": "E.T.S. de ingenieros de telecomunicacion" + "center": "E.T.S. de ingenieros de telecomunicacion", + "key": "14", }, { "name":"Abel Carril", - "role": "Researcher", + "translationKey": "team.professorCards.roles.4", "description":"Videoconference and streaming support specialist with more than 10 years of experience. Audio/Video encoding expert and Windows .NET C# desktop applications developer.", "photo":"/assets/img/team/abel-carril.jpg", "github":"https://github.com/eibol", "email": "abel.carril@upm.es", - "center": "E.T.S. de ingenieros de telecomunicacion" + "center": "E.T.S. de ingenieros de telecomunicacion", + "key": "15", } ] }, @@ -163,21 +178,23 @@ export const myteam = { "members":[ { "name":"Pablo Uxó", - "role": "Intern", + "translationKey": "team.professorCards.roles.5", "description":"", "photo":"/assets/img/team/pablo-uxo.jpeg", "github":"https://github.com/", "email": "p.uxo@alumnos.upm.es", - "center": "E.T.S. de ingenieros de telecomunicacion" + "center": "E.T.S. de ingenieros de telecomunicacion", + "key": "16", }, { "name":"Samuel García", - "role": "Intern", + "translationKey": "team.professorCards.roles.5", "description":"Samuel is a M.S. student in Telecommunication Engineering at Universidad Politécnica de Madrid (UPM). He collaborates with the GING research group as a Software Developer.", "photo":"/assets/img/team/samuel-garcia.jpg", "github":"https://github.com/samugs13", "email": "samuel.garcia.sanchez@alumnos.upm.es", - "center": "E.T.S. de ingenieros de telecomunicacion" + "center": "E.T.S. de ingenieros de telecomunicacion", + "key": "17", } ] } diff --git a/constants/tools.js b/constants/tools.js index 861a3bd..4c791f0 100644 --- a/constants/tools.js +++ b/constants/tools.js @@ -3,67 +3,75 @@ export const mytools = [ "logo": "/assets/img/logos/sgame.svg", "route": "https://sgame.etsisi.upm.es/", "title": "SGAME", - "description": "SGAME is a free web platform meant for the entire educational community that allows users to easily create educational web games by integrating educational resources into existing games.", + "translationKey": "tools.toolCards.description.1", "github": "https://github.com/CyberAula/sgame_platform", "gradient": "bg-blue-gradient-plain ", + "key":"1", }, { "logo": "/assets/img/logos/escapp.svg", "route": "https://escape.dit.upm.es/", - "title": "Educational Escape Rooms", - "description": "The purpose of this project is to encourage and facilitate the completion of educational escape rooms in UPM subjects. To accomplish this, a platform that facilitates the management of the activity has been developed. In this platform, the teacher can create an escape room instance where the students can access and that once the activity has been completed, it automatically collects the progress and achievement data of the students. In addition, a methodological guide has been developed to import the concept of escape room into university education using the platform developed.", + "title": "Educational Escape Rooms", + "translationKey": "tools.toolCards.description.2", "github": "https://github.com/ging/escapp", "gradient": "bg-purple-gradient-plain", + "key":"2", }, { "logo": "/assets/img/logos/school.svg", "route": "https://cyberaula.github.io/quiz-converter/", "title": "QUIZ converter", - "description": "This quiz converter facilitates the conversion between different formats: Moodle XML, Aiken and JSON.", + "translationKey": "tools.toolCards.description.3", "github": "https://github.com/CyberAula/quiz-converter", - "gradient": "bg-yellow-gradient-plain" + "gradient": "bg-yellow-gradient-plain", + "key":"3", }, { "logo": "/assets/img/logos/school.svg", "route": "https://sonsoles.me/RESCORM-quiz-generator/", "title": "RESCORM Quiz generator", - "description": "This website allows users to customize their very own quiz application and generate a SCORM package ready to upload to their preferred LMS. This project was developed using RESCORM.", + "translationKey": "tools.toolCards.description.4", "github": "https://github.com/sonsoleslp/RESCORM-quiz-generator", - "gradient": "bg-purple-gradient-plain" + "gradient": "bg-purple-gradient-plain", + "key":"4", }, { "logo": "/assets/img/logos/codeditor.png", "route": "https://github.com/agordillo/CODEditor", "title": "CODEditor", - "description": "Web-based editor to create self-graded HTML and JavaScript exercises.", + "translationKey": "tools.toolCards.description.3", "github": "https://github.com/agordillo/CODEditor", "gradient": "bg-blue-gradient-plain", + "key":"5", }, { "logo": "/assets/img/logos/loep.svg", "route": "https://github.com/agordillo/LOEP", "title": "LOEP", - "description": "LOEP (Learning Object Evaluation Platform) is an open source web-based platform developed using Ruby on Rails that aims to facilitate the evaluation of small and self-contained web educational resources, known as Learning Objects, in different scenarios and educational contexts. It has been designed to provide systematic evaluation of Learning Objects and generation of quality scores to e-Learning systems according to multiple evaluation models and quality metrics. LOEP provides several features including user and Learning Object management, Learning Object evaluations tools, review assignments, interoperability with e-Learning systems, and statistics.", + "translationKey": "tools.toolCards.description.3", "github": "https://github.com/agordillo/LOEP", - "gradient": "bg-yellow-gradient-plain" + "gradient": "bg-yellow-gradient-plain", + "key":"6", }, { "logo": "/assets/img/logos/europeana.png", "route": "https://github.com/agordillo/EuropeanaRS", "title": "EuropeanaRS", - "description": "A Hybrid Learning Object Recommender System based on Europeana.", + "translationKey": "tools.toolCards.description.3", "github": "https://github.com/agordillo/EuropeanaRS", "gradient": "bg-purple-gradient-plain", + "key":"7", }, { "logo": "/assets/img/logos/rescorm.svg", "route": "https://github.com/agordillo/RESCORM", "title": "RESCORM", - "description": "RESCORM is a boilerplate for creating SCORM-compliant React applications that aims to facilitate developers the creation of SCORM-compliant learning resources.", + "translationKey": "tools.toolCards.description.3", "github": "https://github.com/agordillo/RESCORM", "gradient": "bg-yellow-gradient-plain", + "key":"8", }, ];