feat(i18n): centralize more UI texts in messages

Move hardcoded labels/strings in About, Projects, Contact form, Footer and Consent banner into next-intl message files (en/de) so content is maintained in one place.

Co-authored-by: dennis <dennis@konkol.net>
This commit is contained in:
Cursor Agent
2026-01-15 10:03:32 +00:00
parent faf41a511b
commit a617f6eb92
7 changed files with 200 additions and 56 deletions

View File

@@ -17,9 +17,11 @@
"essential": "Essential",
"analytics": "Analytics",
"chat": "Chatbot",
"alwaysOn": "Always on",
"acceptAll": "Accept all",
"acceptSelected": "Accept selected",
"rejectAll": "Reject all"
"rejectAll": "Reject all",
"hide": "Hide"
}
,
"home": {
@@ -39,14 +41,83 @@
"p2": "I love building full-stack web applications with Next.js and mobile apps with Flutter. But what really excites me is DevOps: I run my own infrastructure and automate deployments with CI/CD.",
"p3": "When I'm not coding or tinkering with servers, you'll find me gaming, jogging, or experimenting with automation workflows.",
"funFactTitle": "Fun Fact",
"funFactBody": "Even though I automate a lot, I still use pen and paper for my calendar and notes it helps me stay focused."
"funFactBody": "Even though I automate a lot, I still use pen and paper for my calendar and notes it helps me stay focused.",
"techStackTitle": "My Tech Stack",
"hobbiesTitle": "When I'm Not Coding",
"techStack": {
"categories": {
"frontendMobile": "Frontend & Mobile",
"backendDevops": "Backend & DevOps",
"toolsAutomation": "Tools & Automation",
"securityAdmin": "Security & Admin"
},
"items": {
"selfHostedServices": "Self-hosted services"
}
},
"hobbies": {
"selfHosting": "Self-Hosting & DevOps",
"gaming": "Gaming",
"gameServers": "Setting up game servers",
"jogging": "Jogging to clear my mind and stay active"
}
},
"projects": {
"title": "Selected Works",
"subtitle": "A collection of projects I've worked on, ranging from web applications to experiments.",
"featured": "Featured",
"viewAll": "View All Projects"
},
"contact": {
"title": "Contact Me",
"subtitle": "Interested in working together or have questions about my projects? Feel free to reach out!",
"getInTouch": "Get In Touch",
"getInTouchBody": "I'm always available to discuss new opportunities, interesting projects, or simply chat about technology and innovation."
"getInTouchBody": "I'm always available to discuss new opportunities, interesting projects, or simply chat about technology and innovation.",
"info": {
"email": "Email",
"location": "Location",
"locationValue": "Osnabrück, Germany"
},
"form": {
"title": "Send Message",
"sending": "Sending message…",
"send": "Send Message",
"labels": {
"name": "Name",
"email": "Email",
"subject": "Subject",
"message": "Message",
"requiredMarker": "*"
},
"placeholders": {
"name": "Your name",
"email": "your@email.com",
"subject": "What's this about?",
"message": "Tell me more about your project or question…"
},
"errors": {
"nameRequired": "Name is required",
"nameMin": "Name must be at least 2 characters",
"emailRequired": "Email is required",
"emailInvalid": "Please enter a valid email address",
"subjectRequired": "Subject is required",
"subjectMin": "Subject must be at least 3 characters",
"messageRequired": "Message is required",
"messageMin": "Message must be at least 10 characters"
},
"characters": "{count} characters"
}
}
}
,
"footer": {
"role": "Software Engineer",
"madeIn": "Made in Germany",
"legalNotice": "Legal notice",
"privacyPolicy": "Privacy policy",
"privacySettings": "Privacy settings",
"privacySettingsTitle": "Show privacy settings banner again",
"builtWith": "Built with"
}
}