Enhances UI with i18n, theme persistence and navigation

Adds internationalization (i18n) support using i18next, enabling multi-language support.

Persists theme selection in local storage, providing a consistent user experience across sessions.

Implements smooth scrolling navigation to different sections of the page.

Introduces a "Projects" section using a routing system, with tabs for professional and personal endeavors and detailed views using framer-motion for smooth transitions.

Includes updated resume PDFs.
This commit is contained in:
Louis
2025-10-28 14:21:02 +01:00
parent 5eb0beafb3
commit 3e3a6dd125
27 changed files with 468 additions and 358 deletions

8
src/i18n/en/about.json Normal file
View File

@@ -0,0 +1,8 @@
{
"title": "About Me",
"description": "Im a fullstack developer specialized in React and Node.js, helping teams build clear, reliable, and scalable applications. I focus on code quality, long-term simplicity, and a strong alignment between technical decisions and product goals.",
"experience_title": "Experience",
"experience_desc": "Over 7 years in web development, including 5 in embedded systems. As a freelancer, I now work on fullstack projects, API integrations, and targeted application redesigns.",
"approach_title": "Approach",
"approach_desc": "I design robust, maintainable solutions by choosing the right tools, keeping code clean, and staying focused on real project needs."
}

5
src/i18n/en/contact.json Normal file
View File

@@ -0,0 +1,5 @@
{
"title": "Let's Work Together",
"description": "I'm always interested in hearing about new projects and opportunities. Feel free to reach out!",
"email": "Send Email"
}

View File

@@ -0,0 +1,13 @@
{
"title": "Education",
"degree1": {
"title": "Bachelor's Degree in Computer Science",
"school": "University Name",
"description": "Specialized in software engineering and web development"
},
"degree2": {
"title": "Technical Diploma",
"school": "Technical Institute",
"description": "Foundation in computer science and programming"
}
}

View File

@@ -0,0 +1,29 @@
{
"title": "Recent projects",
"tabs": {
"professional": "Professional projects",
"personal": "Personal projects"
},
"job1": {
"title": "Complete development environment setup",
"company": "Meta Video",
"description": "Porting a development environment to Docker to standardize configurations",
"task1": "Design of Dockerfiles and Docker Compose configurations",
"task2": "Integration of various services and dependencies into isolated containers",
"task3": "Integration of existing Git repositories into the new Docker environment"
},
"job2": {
"title": "Junior Developer",
"company": "Startup Inc.",
"description": "Contributed to various web development projects",
"task1": "Built responsive user interfaces with React and TailwindCSS",
"task2": "Optimized database queries and improved application performance"
},
"job3": {
"title": "Intern Developer",
"company": "Software Solutions",
"description": "Learned foundational software development practices",
"task1": "Assisted in development of internal tools and applications",
"task2": "Participated in code reviews and team meetings"
}
}

6
src/i18n/en/hero.json Normal file
View File

@@ -0,0 +1,6 @@
{
"title": "Full Stack Developer & Software Engineer",
"subtitle": "Passionate about creating innovative web solutions and building scalable applications with modern technologies.",
"cta": "Get in Touch",
"projects": "View Projects"
}

19
src/i18n/en/index.ts Normal file
View File

@@ -0,0 +1,19 @@
import nav from './nav.json';
import theme from './theme.json';
import hero from './hero.json';
import about from './about.json';
import experience from './experience.json';
import skills from './skills.json';
import education from './education.json';
import contact from './contact.json';
export default {
nav,
theme,
hero,
about,
experience,
skills,
education,
contact
};

7
src/i18n/en/nav.json Normal file
View File

@@ -0,0 +1,7 @@
{
"about": "About",
"skills": "Skills",
"education": "Education",
"projects": "Projects",
"contact": "Contact"
}

15
src/i18n/en/skills.json Normal file
View File

@@ -0,0 +1,15 @@
{
"title": "Skills & Technologies",
"languages": {
"title": "Programming Languages"
},
"frameworks": {
"title": "Frameworks & Libraries"
},
"tools": {
"title": "Tools & Platforms"
},
"other": {
"title": "Other Skills"
}
}

5
src/i18n/en/theme.json Normal file
View File

@@ -0,0 +1,5 @@
{
"light": "Light",
"dark": "Dark",
"system": "System"
}