portfolio-page/src/config/locales/en/TextConfig.ts

360 lines
8.1 KiB
TypeScript

import type { MenuItem } from '../../../data/types';
export interface TextConfig {
// Navigation
navigation: {
menuItems: MenuItem[];
landingMenuItems: MenuItem[];
mobileMenuAriaLabel: string;
logoAlt: string;
};
// Theme Toggle
themeToggle: {
lightIcon: string;
darkIcon: string;
lightModeText: string;
darkModeText: string;
};
// Footer
footer: {
imprintText: string;
copyrightText: string;
technicalLinkText: string;
landingLinkText: string;
codebergAriaLabel: string;
linkedinAriaLabel: string;
emailAriaLabel: string;
};
// Hero Section
hero: {
title: string;
description: string;
primaryButtonText: string;
secondaryButtonText: string;
tertiaryButtonText: string;
statItems: Array<{
label: string;
value: string;
}>;
};
// About Section
about: {
title: string;
subtitle: string;
name: string;
bio: string[];
featureCards: Array<{
title: string;
description: string;
}>;
};
// Landing Hero Section
landingHero: {
title: string;
description: string;
tertiaryButtonText: string;
};
// Landing About Me Section
landingAboutMe: {
title: string;
subtitle: string;
greeting: string;
name: string;
bio: string[];
featureCards: Array<{
title: string;
description: string;
}>;
};
// Landing Reasons Section
landingReasons: {
title: string;
reasons: Array<{
stat: string;
text: string;
}>;
outro: string;
};
// Landing Experience Section
landingExperience: {
title: string;
paragraphs: string[];
};
// Landing Winnings Section
landingWinnings: {
title: string;
intro: string;
items: Array<{ text: string; }>;
outro: string;
};
// Landing Processes Section
landingProcesses: {
title: string;
intro: string;
items: Array<{ text: string; }>;
outro: string;
};
// Landing References Section
landingReferences: {
title: string;
items: Array<{
referenceText: string;
name: string;
position: string;
}>;
};
// Services Section
services: {
title: string;
subtitle: string;
serviceItems: Array<{
title: string;
description: string;
}>;
};
// Skills Section
skills: {
title: string;
subtitle: string;
skillCategories: Array<{
title: string;
skills: Array<{
skill: string;
value: number;
}>;
}>;
};
// Projects Section
projects: {
title: string;
subtitle: string;
codeButtonText: string;
liveButtonText: string;
projectItems: Array<{
id: number;
title: string;
description: string;
}>;
};
// Certifications Section
certifications: {
title: string;
subtitle: string;
certificationItems: Array<{
name: string;
issuer: string;
}>;
};
// Contact Section
contact: {
title: string;
subtitle: string;
connectTitle: string;
connectDescription: string;
buttonText: string;
socialTitle: string;
availabilityText: string;
responseTimeLabel: string;
responseTimeValue: string;
preferredContactLabel: string;
preferredContactValue: string;
locationLabel: string;
locationValue: string;
emailSubject: string;
emailBody: string;
emailAnnouncement: string;
socialAnnouncement: string;
codebergLinkText: string;
linkedinLinkText: string;
appointmentHintText: string;
appointmentLinkText: string;
};
// Imprint Page
imprint: {
umsatzsteuerID: string;
vatID: string;
title: string;
subtitle: string;
companyInfoTitle: string;
businessRegistrationTitle: string;
businessRegistration: {
title: string;
dateIssued: string;
issuedBy: string;
authority: string;
};
contactTitle: string;
responsibilityTitle: string;
disclaimerTitle: string;
contentLiabilityTitle: string;
contentLiabilityText: string[];
copyrightTitle: string;
copyrightText: string[];
privacyTitle: string;
privacyText: string;
detailedPrivacyPolicy: {
title: string;
introduction: string;
responsibleTitle: string;
responsibleText: string;
responsibleContact: string;
dataProtectionOfficerTitle: string;
dataProtectionOfficerText: string;
rightsTitle: string;
rightsIntro: string;
rights: Array<{ title: string; text: string; }>;
revocationTitle: string;
revocationText: string;
objectionTitle: string;
objectionText: string;
objectionHighlight: string;
objectionContact: string;
dataDeletionTitle: string;
dataDeletionIntro: string;
dataDeletionReasons: string[];
retentionText: string;
webhostingTitle: string;
webhostingText: string;
webhostingDataTypes: string[];
webhostingPurpose: string;
webhostingDataCategories: {
affectedData: string;
affectedDataList: string[];
affectedPersons: string;
processingPurpose: string;
legalBasis: string;
provider: string;
};
hostingProvider: {
name: string;
address: string;
website: string;
privacyPolicyLabel: string;
};
contactTitle: string;
contactText: string;
contactDataLabels: {
affectedData: string;
affectedPersons: string;
processingPurpose: string;
legalBasis: string;
};
contactDataCategories: {
affectedData: string[];
affectedPersons: string;
processingPurpose: string;
legalBasis: string;
};
onlineAppointmentTitle: string;
onlineAppointmentIntro: string;
onlineAppointmentProvider: string;
onlineAppointmentDataTitle: string;
onlineAppointmentData: string[];
onlineAppointmentPurpose: string;
onlineAppointmentLegalBasis: string;
onlineAppointmentRetention: string;
onlineAppointmentThirdParty: string;
onlineAppointmentServerLocation: string;
securityTitle: string;
securityText: string;
changesTitle: string;
changesText: string;
disclaimer: string;
};
address: {
street: string;
city: string;
country: string;
};
contact: {
phone: string;
};
};
// Privacy Policy Page
privacyPolicy: {
title: string;
lastUpdated: string;
introTitle: string;
introText: string;
dataCollectionTitle: string;
dataCollectionText: string;
dataCollectionList: string[];
webhostingTitle: string;
webhostingText: string;
webhostingProvider: string;
webhostingProviderName: string;
webhostingProviderAddress: string;
webhostingProviderWebsite: string;
rightsTitle: string;
rightsText: string;
rightsList: string[];
contactTitle: string;
contactText: string;
contactEmail: string;
};
// Accessibility and Navigation
accessibility: {
skipLinks: {
skipToHero: string;
skipToAbout: string;
skipToServices: string;
skipToSkills: string;
skipToProjects: string;
skipToCertifications: string;
skipToContact: string;
};
navigation: {
keyboardHelp: string;
keyboardHelpExpanded: string[];
useTabToNavigate: string;
useTabToNavigateCards: string;
useTabToNavigateOptions: string;
closeKeyboardHelp: string;
};
screenReader: {
professionalStatistics: string;
projectCard: string;
viewSourceCode: string;
viewLiveDemo: string;
downloadResume: string;
downloadResumeDescription: string;
keyboardNavigationHelp: string;
themeSwitchButton: string;
switchToTheme: string;
certificationCard: string;
serviceCard: string;
skillBadge: string;
};
ariaLabels: {
mainNavigation: string;
socialLinks: string;
themeToggle: string;
mobileMenuToggle: string;
contactForm: string;
projectsGrid: string;
skillsGrid: string;
certificationsGrid: string;
servicesGrid: string;
};
};
}