diff --git a/configs/config-tailwind/styles.css b/configs/config-tailwind/styles.css
index 780aa11..c6e053c 100644
--- a/configs/config-tailwind/styles.css
+++ b/configs/config-tailwind/styles.css
@@ -74,6 +74,10 @@
@apply font-semibold italic;
cursor: help;
}
+
+ small {
+ font-size: 87%;
+ }
}
body {
diff --git a/packages/i18n/src/translations/en-US.json b/packages/i18n/src/translations/en-US.json
index 30d6fa2..4c5263d 100644
--- a/packages/i18n/src/translations/en-US.json
+++ b/packages/i18n/src/translations/en-US.json
@@ -7,6 +7,7 @@
"en-US": "English",
"fr-FR": "French"
},
+ "fr-FR-main": "French (primary language)",
"loading": "Loading...",
"errors": {
"error": "Error",
@@ -24,7 +25,7 @@
"description": "I constantly wonder how to improve our present, to make our future better, particularly thanks to the advancements in computer science. My priority is to craft intuitive user experiences (UX), that meet the needs of the users in the most efficient way possible.",
"title": "About"
},
- "description": "Developer Full Stack • Student",
+ "description": "Developer Full Stack • French Student",
"education": {
"cnam": {
"institution": "Conservatoire National des Arts et Métiers (CNAM), in Eckbolsheim - UIMM Alsace - ITII Alsace",
@@ -45,7 +46,7 @@
"2021-2022": {
"courses": {
"java": "Object Oriented Development in Java",
- "sql": "Relational database and SQL language",
+ "sql": "Relational database and SQL language",
"systems-c": "Systems programming in C (Memory allocation, Pointers, Structures)",
"windows-forms": "Windows Forms (.NET Framework) Application Development in C#"
},
@@ -54,10 +55,10 @@
},
"2022-2023": {
"courses": {
- "clean-code": "Design Patterns and Principles (Maintainable and Reusable Code) in UML",
+ "clean-code": "Design Patterns and Principles (Maintainable and Reusable Code) in UML",
"sql-security": "Securing database access and PL/SQL",
- "systems-c": "Systems programming in C (Multi-Thread, Server/Client UDP/TCP)",
- "tests": "Development Quality and Automated Testing",
+ "systems-c": "Systems programming in C (Multi-Thread, Server/Client UDP/TCP)",
+ "tests": "Development Quality and Automated Testing",
"web": "Web development with the Laravel framework in PHP"
},
"description": "2nd year",
@@ -68,7 +69,7 @@
"ci-cd": "Continuous Integration/Deployment (CI/CD) and Docker",
"complexity-algorithms": "Theoretical and Practical Algorithmic Complexity in C++",
"no-sql": "NoSQL database (Redis, MongoDB, Cassandra)",
- "web": "Web development in Node.js and React.js"
+ "web": "Web development in Node.js and React.js"
},
"description": "3rd year",
"title": "2023 - 2024"
@@ -90,7 +91,7 @@
"interests": {
"title": "Interests & hobbies",
"fusey": "Fusey (fusey.gg): website I'm developing for the game ARK that tracks the number of players connected to the servers in real time and has over ~5,000 visitors each month, ~100,000 members on Discord, and ~120,000 followers on X/Twitter.",
- "open-source": "Open-Source Enthusiast"
+ "open-source": "Open-Source Contributor: publishing and contributing to npm packages and GitHub repositories, notably with markdownlint-rule-relative-links (around 20,000 downloads per week), contributions to Leon, an open-source personal assistant, among other projects."
},
"work": {
"ircad": {
@@ -98,12 +99,12 @@
"position": "Full Stack Web Developer Apprentice",
"tasks": {
"WebSurg": "Development of WebSurg, a virtual university dedicated to medical-surgical training, built with React.js/Next.js and API Platform with Symfony.",
- "Figma": "Integration of Figma mockups for WebSurg, website dedicated to medical-surgical training.",
+ "Figma": "Integration of Figma mockups for WebSurg, website dedicated to medical-surgical training.",
"IRCAD-Core": "IRCAD Core, an internal tool for managing medical training sessions and their requirements (anatomical models, medications, staff training, etc.).",
"feature-logs": "History and traceability of data modifications (what? who? when?) in IRCAD Core.",
- "feature-permissions": "Advanced permissions system and OAuth2 authentication, with read, write, and delete access restricted for specific users of the IRCAD Core application.",
- "feature-search": "Search engine with filters, sorting, and customizable display for each user of IRCAD Core.",
- "feature-architecture": "IRCAD Core project architecture in TypeScript Monorepo with Turborepo, automatic deployment (CI/CD) and self-hosted internally with Docker Compose."
+ "feature-permissions": "Advanced permissions system and OAuth2 authentication, with read, write, and delete access restricted for specific users of the IRCAD Core application.",
+ "feature-search": "Search engine with filters, sorting, and customizable display for each user of IRCAD Core.",
+ "feature-architecture": "IRCAD Core project architecture in TypeScript Monorepo with Turborepo, automatic deployment (CI/CD) and self-hosted internally with Docker Compose."
}
},
"numerize": {
@@ -175,7 +176,10 @@
"others": "Others",
"programming-languages": "Programming languages",
"software-tools": "Software and tools",
- "title": "Skills"
+ "title": "Skills",
+
+ "rust-advent-of-code": " (as hobby and Advent Of Code)",
+ "go-basics": " (basics and fundamentals)"
}
}
}
diff --git a/packages/i18n/src/translations/fr-FR.json b/packages/i18n/src/translations/fr-FR.json
index c47864f..0a7f729 100644
--- a/packages/i18n/src/translations/fr-FR.json
+++ b/packages/i18n/src/translations/fr-FR.json
@@ -7,6 +7,7 @@
"en-US": "Anglais",
"fr-FR": "Français"
},
+ "fr-FR-main": "Français (langue principale)",
"loading": "Chargement...",
"errors": {
"error": "Erreur",
@@ -45,7 +46,7 @@
"2021-2022": {
"courses": {
"java": "Développement Orientée Objet en Java",
- "sql": "Base de données relationnelles et langage SQL",
+ "sql": "Base de données relationnelles et langage SQL",
"systems-c": "Programmation systèmes en C (Allocation mémoire, Pointeurs, Structures)",
"windows-forms": "Développement d'application Windows Forms (.NET Framework) en C#"
},
@@ -54,10 +55,10 @@
},
"2022-2023": {
"courses": {
- "clean-code": "Patrons et Principes de conceptions (Code maintenable et réutilisable) en UML",
+ "clean-code": "Patrons et Principes de conceptions (Code maintenable et réutilisable) en UML",
"sql-security": "Sécurisation des accès à la base de données et PL/SQL",
- "systems-c": "Programmation systèmes en C (Multi-Thread, Serveur/Client UDP/TCP)",
- "tests": "Qualité de développement et Tests automatisés",
+ "systems-c": "Programmation systèmes en C (Multi-Thread, Serveur/Client UDP/TCP)",
+ "tests": "Qualité de développement et Tests automatisés",
"web": "Développement Web avec le framework Laravel en PHP"
},
"description": "2ème année",
@@ -68,7 +69,7 @@
"ci-cd": "Intégration/Déploiement Continue et Docker",
"complexity-algorithms": "Complexité Algorithmique Théorique et Pratique en C++",
"no-sql": "Base de données NoSQL (Redis, MongoDB, Cassandra)",
- "web": "Développement Web en Node.js et React.js"
+ "web": "Développement Web en Node.js et React.js"
},
"description": "3ème année",
"title": "2023 - 2024"
@@ -90,7 +91,7 @@
"interests": {
"title": "Intérêts & loisirs",
"fusey": "Fusey (fusey.gg) : site web que je développe pour le jeu ARK qui permet de suivre en temps réel le nombre de joueurs connectés sur les serveurs et a plus de ~5 000 visiteurs chaque mois, ~100 000 membres sur Discord et ~120 000 followers sur X/Twitter.",
- "open-source": "Enthousiaste de l'Open-Source"
+ "open-source": "Contributeur de l'Open-Source : publications et contributions sur npm et GitHub avec notamment markdownlint-rule-relative-links avec ~20 000 téléchargements par semaine, contributions à Leon, un assistant personnel open source, parmis d'autres projets."
},
"work": {
"ircad": {
@@ -98,12 +99,12 @@
"position": "Apprenti Développeur Web Full Stack",
"tasks": {
"WebSurg": "Développement de WebSurg, une université virtuelle consacrée à la formation médico-chirurgicale, en React.js/Next.js et API Platform avec Symfony.",
- "Figma": "Intégration des maquettes Figma pour WebSurg, site web consacrée à la formation médico-chirurgicale.",
+ "Figma": "Intégration des maquettes Figma pour WebSurg, site web consacrée à la formation médico-chirurgicale.",
"IRCAD-Core": "IRCAD Core, outil interne de gestion des formations médicales et leurs besoins (modèles anatomiques, médicaments, formations du personnel, etc.).",
"feature-logs": "Historique et traçabilité des modifications des données (quoi? qui? quand?) dans IRCAD Core.",
- "feature-permissions": "Système de permissions avancé et authentification OAuth2, avec accès en lecture, écriture et suppression restreint pour des utilisateurs spécifiques de l'application IRCAD Core.",
- "feature-search": "Moteur de recherche avec filtres, tris et ordre d'affichage personnalisable pour IRCAD Core.",
- "feature-architecture": "Architecture du projet IRCAD Core en Monorepo TypeScript avec Turborepo, déploiement automatique (CI/CD) et hébergé en interne avec Docker Compose."
+ "feature-permissions": "Système de permissions avancé et authentification OAuth2, avec accès en lecture, écriture et suppression restreint pour des utilisateurs spécifiques de l'application IRCAD Core.",
+ "feature-search": "Moteur de recherche avec filtres, tris et ordre d'affichage personnalisable pour IRCAD Core.",
+ "feature-architecture": "Architecture du projet IRCAD Core en Monorepo TypeScript avec Turborepo, déploiement automatique (CI/CD) et hébergé en interne avec Docker Compose."
}
},
"numerize": {
@@ -175,7 +176,10 @@
"others": "Autres",
"programming-languages": "Langages de programmation",
"software-tools": "Logiciels et outils",
- "title": "Compétences"
+ "title": "Compétences",
+
+ "rust-advent-of-code": " (pendant temps libre et Advent Of Code)",
+ "go-basics": " (bases et fondamentaux)"
}
}
}
diff --git a/packages/ui/src/CurriculumVitae/CurriculumVitaeEducation.tsx b/packages/ui/src/CurriculumVitae/CurriculumVitaeEducation.tsx
index c72e55e..254f1e9 100644
--- a/packages/ui/src/CurriculumVitae/CurriculumVitaeEducation.tsx
+++ b/packages/ui/src/CurriculumVitae/CurriculumVitaeEducation.tsx
@@ -33,7 +33,14 @@ export const CurriculumVitaeEducation: React.FC<
// t(
// "curriculum-vitae.education.iut.years.2021-2022.courses.windows-forms",
// ),
- t("curriculum-vitae.education.iut.years.2021-2022.courses.sql"),
+ t.rich(
+ "curriculum-vitae.education.iut.years.2021-2022.courses.sql",
+ {
+ strong: (children) => {
+ return {children}
+ },
+ },
+ ),
],
},
{
@@ -41,13 +48,30 @@ export const CurriculumVitaeEducation: React.FC<
title: t("curriculum-vitae.education.iut.years.2022-2023.title"),
courses: [
t("curriculum-vitae.education.iut.years.2022-2023.courses.web"),
- t("curriculum-vitae.education.iut.years.2022-2023.courses.tests"),
- t(
+ t.rich(
+ "curriculum-vitae.education.iut.years.2022-2023.courses.tests",
+ {
+ strong: (children) => {
+ return {children}
+ },
+ },
+ ),
+ t.rich(
"curriculum-vitae.education.iut.years.2022-2023.courses.clean-code",
+ {
+ strong: (children) => {
+ return {children}
+ },
+ },
),
// t("curriculum-vitae.education.iut.years.2022-2023.courses.sql-security"),
- t(
+ t.rich(
"curriculum-vitae.education.iut.years.2022-2023.courses.systems-c",
+ {
+ strong: (children) => {
+ return {children}
+ },
+ },
),
],
},
@@ -55,7 +79,14 @@ export const CurriculumVitaeEducation: React.FC<
year: t("curriculum-vitae.education.iut.years.2023-2024.description"),
title: t("curriculum-vitae.education.iut.years.2023-2024.title"),
courses: [
- t("curriculum-vitae.education.iut.years.2023-2024.courses.web"),
+ t.rich(
+ "curriculum-vitae.education.iut.years.2023-2024.courses.web",
+ {
+ strong: (children) => {
+ return {children}
+ },
+ },
+ ),
t("curriculum-vitae.education.iut.years.2023-2024.courses.ci-cd"),
t(
"curriculum-vitae.education.iut.years.2023-2024.courses.complexity-algorithms",
@@ -114,8 +145,8 @@ export const CurriculumVitaeEducation: React.FC<
paddingInlineStart: 20,
}}
>
- {courses.map((course) => {
- return