* 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>
108 lines
1.9 KiB
TypeScript
108 lines
1.9 KiB
TypeScript
/**
|
|
* Type Definitions for Directus-based Translations
|
|
* Each section has its own translation props
|
|
*/
|
|
|
|
export interface NavTranslations {
|
|
home: string;
|
|
about: string;
|
|
projects: string;
|
|
contact: string;
|
|
}
|
|
|
|
export interface FooterTranslations {
|
|
role: string;
|
|
madeIn: string;
|
|
legalNotice: string;
|
|
privacyPolicy: string;
|
|
privacySettings: string;
|
|
privacySettingsTitle: string;
|
|
builtWith: string;
|
|
}
|
|
|
|
export interface HeroTranslations {
|
|
description: string;
|
|
ctaWork: string;
|
|
ctaContact: string;
|
|
features: {
|
|
f1: string;
|
|
f2: string;
|
|
f3: string;
|
|
};
|
|
}
|
|
|
|
export interface AboutTranslations {
|
|
title: string;
|
|
p1: string;
|
|
p2: string;
|
|
p3: string;
|
|
funFactTitle: string;
|
|
funFactBody: string;
|
|
techStackTitle: string;
|
|
techStack: {
|
|
categories: {
|
|
frontendMobile: string;
|
|
backendDevops: string;
|
|
toolsAutomation: string;
|
|
securityAdmin: string;
|
|
};
|
|
items: {
|
|
selfHostedServices: 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;
|
|
subtitle: string;
|
|
getInTouch: string;
|
|
getInTouchBody: string;
|
|
form: {
|
|
title: string;
|
|
sending: 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: {
|
|
email: string;
|
|
location: string;
|
|
locationValue: string;
|
|
};
|
|
}
|
|
|
|
export interface ConsentTranslations {
|
|
title: string;
|
|
description: string;
|
|
accept: string;
|
|
decline: string;
|
|
}
|