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:
@@ -17,9 +17,11 @@
|
||||
"essential": "Essentiell",
|
||||
"analytics": "Analytics",
|
||||
"chat": "Chatbot",
|
||||
"alwaysOn": "Immer aktiv",
|
||||
"acceptAll": "Alles akzeptieren",
|
||||
"acceptSelected": "Auswahl akzeptieren",
|
||||
"rejectAll": "Alles ablehnen"
|
||||
"rejectAll": "Alles ablehnen",
|
||||
"hide": "Ausblenden"
|
||||
}
|
||||
,
|
||||
"home": {
|
||||
@@ -39,14 +41,83 @@
|
||||
"p2": "Ich entwickle Full-Stack Web-Apps mit Next.js und Mobile-Apps mit Flutter. Besonders spannend finde ich DevOps: eigene Infrastruktur, Automatisierung und CI/CD Deployments.",
|
||||
"p3": "Wenn ich nicht code oder an Servern schraube, findest du mich beim Gaming, Joggen oder beim Experimentieren mit Automationen.",
|
||||
"funFactTitle": "Fun Fact",
|
||||
"funFactBody": "Auch wenn ich viel automatisiere, nutze ich für Kalender & Notizen noch Stift und Papier – das hilft mir beim Fokus."
|
||||
"funFactBody": "Auch wenn ich viel automatisiere, nutze ich für Kalender & Notizen noch Stift und Papier – das hilft mir beim Fokus.",
|
||||
"techStackTitle": "Mein Tech Stack",
|
||||
"hobbiesTitle": "Wenn ich nicht code",
|
||||
"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": "Game-Server einrichten",
|
||||
"jogging": "Joggen zum Kopf freibekommen und aktiv bleiben"
|
||||
}
|
||||
},
|
||||
"projects": {
|
||||
"title": "Ausgewählte Projekte",
|
||||
"subtitle": "Eine Auswahl an Projekten, an denen ich gearbeitet habe – von Web-Apps bis zu Experimenten.",
|
||||
"featured": "Featured",
|
||||
"viewAll": "Alle Projekte ansehen"
|
||||
},
|
||||
"contact": {
|
||||
"title": "Kontakt",
|
||||
"subtitle": "Du willst zusammenarbeiten oder hast Fragen zu meinen Projekten? Schreib mir gerne!",
|
||||
"getInTouch": "Melde dich",
|
||||
"getInTouchBody": "Ich bin immer offen für neue Chancen, spannende Projekte oder einfach einen Tech-Talk."
|
||||
"getInTouchBody": "Ich bin immer offen für neue Chancen, spannende Projekte oder einfach einen Tech-Talk.",
|
||||
"info": {
|
||||
"email": "E-Mail",
|
||||
"location": "Ort",
|
||||
"locationValue": "Osnabrück, Deutschland"
|
||||
},
|
||||
"form": {
|
||||
"title": "Nachricht senden",
|
||||
"sending": "Sende Nachricht…",
|
||||
"send": "Nachricht senden",
|
||||
"labels": {
|
||||
"name": "Name",
|
||||
"email": "E-Mail",
|
||||
"subject": "Betreff",
|
||||
"message": "Nachricht",
|
||||
"requiredMarker": "*"
|
||||
},
|
||||
"placeholders": {
|
||||
"name": "Dein Name",
|
||||
"email": "dein@email.de",
|
||||
"subject": "Worum geht’s?",
|
||||
"message": "Erzähl mir mehr über dein Projekt oder deine Frage…"
|
||||
},
|
||||
"errors": {
|
||||
"nameRequired": "Name ist erforderlich",
|
||||
"nameMin": "Name muss mindestens 2 Zeichen haben",
|
||||
"emailRequired": "E-Mail ist erforderlich",
|
||||
"emailInvalid": "Bitte eine gültige E-Mail-Adresse eingeben",
|
||||
"subjectRequired": "Betreff ist erforderlich",
|
||||
"subjectMin": "Betreff muss mindestens 3 Zeichen haben",
|
||||
"messageRequired": "Nachricht ist erforderlich",
|
||||
"messageMin": "Nachricht muss mindestens 10 Zeichen haben"
|
||||
},
|
||||
"characters": "{count} Zeichen"
|
||||
}
|
||||
}
|
||||
}
|
||||
,
|
||||
"footer": {
|
||||
"role": "Software Engineer",
|
||||
"madeIn": "Made in Germany",
|
||||
"legalNotice": "Impressum",
|
||||
"privacyPolicy": "Datenschutz",
|
||||
"privacySettings": "Datenschutz-Einstellungen",
|
||||
"privacySettingsTitle": "Datenschutz-Banner wieder anzeigen",
|
||||
"builtWith": "Built with"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user