Refactor locale system: align types with usage, add CMS formatting docs (#59)
* Initial plan * Initial analysis: understanding locale system issues Co-authored-by: denshooter <44590296+denshooter@users.noreply.github.com> * Fix translation types to match actual component usage Co-authored-by: denshooter <44590296+denshooter@users.noreply.github.com> * Add comprehensive locale system documentation and fix API route types Co-authored-by: denshooter <44590296+denshooter@users.noreply.github.com> * Address code review feedback: improve readability and translate comments to English Co-authored-by: denshooter <44590296+denshooter@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: denshooter <44590296+denshooter@users.noreply.github.com>
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
/**
|
||||
* Type Definitions für Directus-basierte Translations
|
||||
* Jede Section hat ihre eigenen Translation Props
|
||||
* Type Definitions for Directus-based Translations
|
||||
* Each section has its own translation props
|
||||
*/
|
||||
|
||||
export interface NavTranslations {
|
||||
@@ -12,38 +12,34 @@ export interface NavTranslations {
|
||||
|
||||
export interface FooterTranslations {
|
||||
role: string;
|
||||
description: string;
|
||||
links: {
|
||||
privacy: string;
|
||||
imprint: string;
|
||||
};
|
||||
copyright: string;
|
||||
madeWith: string;
|
||||
resetConsent: string;
|
||||
madeIn: string;
|
||||
legalNotice: string;
|
||||
privacyPolicy: string;
|
||||
privacySettings: string;
|
||||
privacySettingsTitle: string;
|
||||
builtWith: string;
|
||||
}
|
||||
|
||||
export interface HeroTranslations {
|
||||
greeting: string;
|
||||
name: string;
|
||||
role: string;
|
||||
description: string;
|
||||
cta: {
|
||||
projects: string;
|
||||
contact: string;
|
||||
};
|
||||
ctaWork: string;
|
||||
ctaContact: string;
|
||||
features: {
|
||||
f1: string;
|
||||
f2: string;
|
||||
f3: string;
|
||||
};
|
||||
scrollDown: string;
|
||||
}
|
||||
|
||||
export interface AboutTranslations {
|
||||
title: string;
|
||||
description: string;
|
||||
p1: string;
|
||||
p2: string;
|
||||
p3: string;
|
||||
funFactTitle: string;
|
||||
funFactBody: string;
|
||||
techStackTitle: string;
|
||||
techStack: {
|
||||
title: string;
|
||||
categories: {
|
||||
frontendMobile: string;
|
||||
backendDevops: string;
|
||||
@@ -54,49 +50,52 @@ export interface AboutTranslations {
|
||||
selfHostedServices: string;
|
||||
};
|
||||
};
|
||||
interests: {
|
||||
title: string;
|
||||
cybersecurity: {
|
||||
title: string;
|
||||
description: string;
|
||||
};
|
||||
selfHosting: {
|
||||
title: string;
|
||||
description: string;
|
||||
};
|
||||
gaming: {
|
||||
title: string;
|
||||
description: string;
|
||||
};
|
||||
automation: {
|
||||
title: string;
|
||||
description: string;
|
||||
};
|
||||
hobbiesTitle: string;
|
||||
hobbies: {
|
||||
selfHosting: string;
|
||||
gaming: string;
|
||||
gameServers: string;
|
||||
jogging: string;
|
||||
};
|
||||
}
|
||||
|
||||
export interface ProjectsTranslations {
|
||||
title: string;
|
||||
subtitle: string;
|
||||
viewAll: string;
|
||||
}
|
||||
|
||||
export interface ContactTranslations {
|
||||
title: string;
|
||||
description: string;
|
||||
subtitle: string;
|
||||
getInTouch: string;
|
||||
getInTouchBody: string;
|
||||
form: {
|
||||
name: string;
|
||||
email: string;
|
||||
message: string;
|
||||
send: string;
|
||||
title: string;
|
||||
sending: string;
|
||||
success: string;
|
||||
error: string;
|
||||
send: string;
|
||||
placeholders: {
|
||||
name: string;
|
||||
email: string;
|
||||
subject: string;
|
||||
message: string;
|
||||
};
|
||||
errors: {
|
||||
nameRequired: string;
|
||||
nameMin: string;
|
||||
emailRequired: string;
|
||||
emailInvalid: string;
|
||||
subjectRequired: string;
|
||||
subjectMin: string;
|
||||
messageRequired: string;
|
||||
messageMin: string;
|
||||
};
|
||||
characters: string;
|
||||
};
|
||||
info: {
|
||||
title: string;
|
||||
email: string;
|
||||
response: string;
|
||||
emailLabel: string;
|
||||
location: string;
|
||||
locationValue: string;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user