Skip to content

Commit

Permalink
Translate to German
Browse files Browse the repository at this point in the history
  • Loading branch information
vallieres13 committed May 20, 2024
1 parent 0879052 commit 954389d
Show file tree
Hide file tree
Showing 25 changed files with 5,350 additions and 261 deletions.
5,077 changes: 5,077 additions & 0 deletions package-lock.json

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions src/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import './styles/app.scss';

/* Pages */
import Index from './pages/Index';
import Hire from './pages/Hire';
import Profile from './pages/Profile';
import Work from './pages/Work';
import About from './pages/About';
import Services from './pages/Services';
Expand Down Expand Up @@ -40,8 +40,8 @@ const App = () => {
element: <Index />
},
{
path: '/Hire',
element: <Hire />
path: '/Profile',
element: <Profile />
},
{
path: '/Work',
Expand Down
15 changes: 7 additions & 8 deletions src/components/Connect.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ import GithubLogo from '../assets/icons/github.svg';
/* Misc */
import gsap from 'gsap';
import { useGSAP } from '@gsap/react';
import { Helmet } from 'react-helmet';

interface Props {
title?: string;
Expand All @@ -23,7 +22,7 @@ interface Props {

const defaultProps = {
title: 'Connect',
url: '/hire'
url: '/profile'
}

const Connect = ({ title = defaultProps.title, url = defaultProps.url }: Props) => {
Expand Down Expand Up @@ -54,8 +53,8 @@ const Connect = ({ title = defaultProps.title, url = defaultProps.url }: Props)
<div className="wrapper">
<div className="messages left">
<div className="imessage">
<p className="from-them green">AI Research</p>
<p className="from-them blue">Video Production</p>
<p className="from-them green">KI Forschung</p>
<p className="from-them blue">Video Produktion</p>
<p className="from-them">Online Marketing</p>
</div>
</div>
Expand All @@ -72,13 +71,13 @@ const Connect = ({ title = defaultProps.title, url = defaultProps.url }: Props)
<li><Link to={'https://github.com/vallieres13'}><LazyLoadImage src={GithubLogo} alt="GitHub" /></Link></li>
</ul>
</div>
<Link to={url} className="button primary">Get in Touch</Link><br />
<Link to={url} className="button primary">Schreibe mir</Link><br />
</div>
<div className="messages right">
<div className="imessage">
<p className="from-me">Web Development</p>
<p className="from-me green">UX & UI Design</p>
<p className="from-me blue">Full-Stack Development</p>
<p className="from-me">Web Entwicklung</p>
<p className="from-me green">System-Administration</p>
<p className="from-me blue">UX & UI Design</p>
</div>
</div>
</div>
Expand Down
46 changes: 22 additions & 24 deletions src/components/Footer.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -13,63 +13,61 @@ const Footer = () => {
const thisYear = new Date().getFullYear();

const devNotes: any[] = [
<>Cooked up with <span>🍳</span> as coding is my secret recipe.</>,
<>Built with <span>🚀</span> because I love to launch great stuff.</>,
// <>Assembled with <span>🤖</span> as robots get creative too.</>,
<>Brewed with <span>☕️</span> for that perfect blend.</>,
// <>Forged with <span>⚒️</span> for a site that's tough as nails.</>,
// <>Assembled with <span>🧲</span> to attract the best UX.</>,
<>Built with <span>⚛️</span> React.js.</>
<>Zubereitet mit <span>🍳</span> denn Coding ist mein Geheimrezept.</>,
<>Gebaut mit <span>🚀</span>, weil ich gerne großartige Dinge starte.</>,
<>Mit Hilfe von <span>🤖</span>, denn KI ist auch kreativ.</>,
<>Gebraut mit <span>☕️</span> für die perfekte Tasse.</>,
<>Gebaut mit <span>⚛️</span> React.ts & vite.</>
];

return (
<footer className="container">
<div className="partners">
<LazyLoadImage src={Partners} className="desktop" alt="Partners" />
<LazyLoadImage src={PartnersMobile} className="mobile" alt="Partners" />
<LazyLoadImage src={Partners} className="desktop" alt="Partner" />
<LazyLoadImage src={PartnersMobile} className="mobile" alt="Partner" />
</div>
<div className="grid">
<div className="column">
<ul>
<li><Link to={'/stories'}>Stories (Blog)</Link></li>
<li><Link to={'/about'}>About Me</Link></li>
<li><Link to={'/about'}>Über Mich</Link></li>
<li><Link to={'/labs'}>Labs</Link></li>
<li><Link to={'/hire'}>Hire Me</Link></li>
<li><Link to={'/contact'}>Get In Touch</Link></li>
<li><Link to={'/profile'}>Portfolio</Link></li>
<li><Link to={'/contact'}>Kontakt</Link></li>
</ul>
</div>
<div className="column">
<ul>
<li><Link to={'/partners'}>Partners</Link></li>
<li><Link to={'/partners'}>Customers</Link></li>
<li><Link to={'/contact'}>Business Inquiry</Link></li>
<li><Link to={'/partners'}>Partner</Link></li>
<li><Link to={'/partners'}>Kunden</Link></li>
<li><Link to={'/contact'}>Geschäftl. Anfrage</Link></li>
<li><Link to={'/contact'}>Connect</Link></li>
</ul>
</div>
<div className="column">
<ul>
<li><Link to={'/work'}>Work</Link></li>
<li><Link to={'/work'}>What I do</Link></li>
<li><Link to={'/work'}>References</Link></li>
<li><Link to={'/work'}>Impressionen</Link></li>
<li><Link to={'/work'}>Meine Arbeit</Link></li>
<li><Link to={'/work'}>Referenzen</Link></li>
</ul>
</div>
<div className="column">
<ul>
<li><Link to={'/sitemap.xml'}>Sitemap</Link></li>
<li><Link to={'/contact'}>Contact</Link></li>
<li><Link to={'/privacy'}>Privacy Policy</Link></li>
<li><Link to={'/imprint'}>Imprint</Link></li>
<li><Link to={'/contact'}>Kontakt</Link></li>
<li><Link to={'/privacy'}>Datenschutz</Link></li>
<li><Link to={'/imprint'}>Impressum</Link></li>
</ul>
</div>
<div className="column empty"></div>
<div className="column">
Felix Hebgen is a <span className="emoji"><img src={GermanyEmoji} alt="Germany"/></span> German full-stack web developer &
media designer based in Darmstadt, Hessen.
Felix Hebgen ist ein <span className="emoji"><img src={GermanyEmoji} alt="Germany"/></span> deutscher Full-Stack Entwickler &
Designer mit Sitz in Darmstadt, Hessen.
</div>
</div>
<div className="copyright">
<div className="disclaimer">
Copyright &copy; 2012 — {thisYear} Felix Hebgen. All Rights Reserved.<br />
Copyright &copy; 2012 — {thisYear} Felix Hebgen. Alle Rechte vorbehalten.<br />
{devNotes[Math.floor(Math.random() * devNotes.length)]} — Made in Darmstadt, Germany. 🌳🌲
</div>
<div className="host">
Expand Down
2 changes: 1 addition & 1 deletion src/components/Header.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,7 @@ const Header = () => {
<img src={Logo} alt="Logo" />
</NavLink>
</div>
<div className="hamburger" onClick={handleHamburgerClick}><img src={Hamburger} alt="Menu" /></div>
<div className="hamburger" onClick={handleHamburgerClick}><img src={Hamburger} alt="Menü" /></div>
<Navigation mobile={true} />
</header>
</>
Expand Down
4 changes: 2 additions & 2 deletions src/components/Layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ const Layout = () => {
{/* Meta Tags */}
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="title" content="Felix Hebgen — Web-Developer & Designer from Darmstadt" />
<meta name="description" content="The personal website of Felix Hebgen, a German full-stack web developer in today's ever so fast growing web-app economy, based in Darmstadt, Hessen." />
<meta name="description" content="Die persönliche Website von Felix Hebgen, ein deutscher Full-Stack Web-Entwickler in der heutigen rapide wachsenden Internet-Wirtschaft aus Darmstadt, Hessen." />
<meta name="keywords" content="felix hebgen, portfolio, web developer, designer, web design, darmstadt web developer, darmstadt web design, höchst im odenwald, hessen, job profile, cv, felix hebgen web design, felix hebgen design" />
<meta name="robots" content="index, follow" />
<meta name="author" content="Felix Hebgen, [email protected]" />
Expand All @@ -48,7 +48,7 @@ const Layout = () => {
<meta name="expires" content="" />

{/* Title */}
<title>Felix Hebgen — Web-Developer & Designer from Darmstadt</title>
<title>Felix Hebgen — Web-Developer & Designer aus Darmstadt</title>
</Helmet>
<InitialLoadOverlay hasFinished={() => setInitialLoadingHasFinished(true)} />
<ScrollToTop />
Expand Down
8 changes: 4 additions & 4 deletions src/components/Navigation.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -48,15 +48,15 @@ const Navigation = ({ mobile = defaultProps.mobile }: Props) => {
url: 'stories'
},
{
title: 'About Me',
url: 'about'
title: 'Profil',
url: 'profile'
},
{
title: 'Work',
title: 'Referenzen',
url: 'work'
},
{
title: 'Services',
title: 'Web Design',
url: 'webdesign',
highlight: true
}
Expand Down
10 changes: 5 additions & 5 deletions src/components/Newsletter.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -12,16 +12,16 @@ const Newsletter = () => {
<img src={NewsletterTop} alt="Background Image" className="bg-top"/>
<img src={NewsletterBottom} alt="Background Image" className="bg-bottom"/>
<div className="description">
<p>Free newsletter</p>
<h3>Consider staying in the stream.</h3>
<p>Kostenloser Newsletter</p>
<h3>Bleib im Strom der Neuigkeiten.</h3>
</div>
<div className="form">
<input type="text" placeholder="your name" required></input>
<input type="text" placeholder="dein name" required></input>
<img src={InputForm} alt="Input Form"
style={{height: '16px', width: '16px', marginRight: '4px', transform: 'translateY(2px)'}}/>
<input type="text" placeholder="email address" required></input>
<input type="text" placeholder="email addresse" required></input>
<img src={EnvelopeForm} alt="Envelope Form"/>
<button>Sign Up</button>
<button>Anmelden</button>
</div>
</div>
);
Expand Down
11 changes: 6 additions & 5 deletions src/components/Offer.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import MilesBlue from '../assets/images/offers/amex-plat.png?format=avif';
import MilesGold from '../assets/images/offers/amex-plat.png?format=avif';
import MilesBluePlain from '../assets/images/offers/milesmore-blue-plain.png?format=avif';
import MilesGoldPlain from '../assets/images/offers/milesmore-gold-plain.png?format=avif';

interface Props {
type: string;
promo?: boolean;
Expand Down Expand Up @@ -62,8 +63,8 @@ const Offer = ({
cards: AmexCards,
splash: '+30.000 Extra',
subtitle: 'Membership Rewards',
small: '+20.000 for the Gold Card',
button: 'Card Details',
small: '+20.000 für die Gold Card',
button: 'Mehr erfahren',
buttonUrl: '#!',
background: 'linear-gradient(265deg, #016FD0 19.83%, rgba(1, 111, 208, 0.05) 88.25%)',
reverse: false
Expand All @@ -74,9 +75,9 @@ const Offer = ({
logo: MilesMoreLogo,
cards: MilesMoreCards,
splash: '+4.000 Miles',
subtitle: 'By adding me as a referrer',
small: 'Referral Offer',
button: 'Card Details',
subtitle: 'Indem du mich als Weiterempfehlung angibst',
small: 'Empfehlungs-Angebot',
button: 'Mehr erfahren',
buttonUrl: '#!',
background: 'linear-gradient(130deg, #162458 19.83%, rgba(22, 36, 88, 0.05) 88.25%)',
reverse: true
Expand Down
2 changes: 1 addition & 1 deletion src/components/Preloader.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ const Preloader = (props: componentProps = defaultProps) => {
return (
<div className="preloader" style={{ padding: verticalPadding + 'vh 0' }}>
<div className="spinner"></div>
<p>Loading ...</p>
<p>Laden ...</p>
</div>
);

Expand Down
28 changes: 14 additions & 14 deletions src/components/Spotlight.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -24,30 +24,30 @@ const Spotlight = () => {
{
illustration: DesignSpotlight,
title: 'Interaction Design',
description: 'Crafting intuitive and seamless user experiences through thoughtful interaction design is my passion and expertise.',
buttonTitle: 'Learn more',
buttonTarget: '/hire'
description: 'Die Gestaltung intuitiver und nahtloser Benutzererfahrungen durch durchdachtes Interaktionsdesign ist meine Leidenschaft.',
buttonTitle: 'Mein Profil',
buttonTarget: '/profile'
},
{
illustration: MarketingSpotlight,
title: 'Online Marketing',
description: 'Driving digital success through strategic marketing initiatives to maximise reach and engagement.',
buttonTitle: 'Learn more',
buttonTarget: '/hire'
description: 'Digitale Erfolge durch strategische Marketinginitiativen vorantreiben, um Kunden-Engagement zu maximieren.',
buttonTitle: 'Mein Profil',
buttonTarget: '/profile'
},
{
illustration: CodeSpotlight,
title: 'Web & App Development',
description: 'Empowering digital experiences through dynamic web development and impactful solutions in the realm of the web.',
buttonTitle: 'Learn more',
buttonTarget: '/hire'
title: 'Web & App Entwicklung',
description: 'Digitale Erlebnisse durch dynamische Webentwicklung und wirkungsvolle Lösungen im Bereich des Webs stärken.',
buttonTitle: 'Mein Profil',
buttonTarget: '/profile'
},
{
illustration: AiSpotlight,
title: 'Artificial Intelligence',
description: 'Harnessing the power of AI, I innovate and implement solutions that redefine possibilities and elevate user experiences.',
buttonTitle: 'Learn more',
buttonTarget: '/hire'
title: 'Künstliche Intelligenz',
description: 'Durch die Nutzung von KI schaffe ich Innovationen und setze Lösungen um, die die Grenzen neu definieren und aufwerten.',
buttonTitle: 'Mein Profil',
buttonTarget: '/profile'
}
];

Expand Down
6 changes: 3 additions & 3 deletions src/components/TechStack.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ const TechStack = () => {
speed: 2000
});

const redirectHire = () => navigate('/hire');
const redirectHire = () => navigate('/profile');
card.addEventListener('click', redirectHire);
return () => card.removeEventListener('click', redirectHire);
});
Expand Down Expand Up @@ -108,8 +108,8 @@ const TechStack = () => {
<img src={JavaStack} alt="Java" className="hidden" />
</div>
<div className="column large-and-a-half-column card">
<img src={Database} alt="Database" />
<img src={DatabaseStack} alt="Database" className="hidden" />
<img src={Database} alt="Datenbanken" />
<img src={DatabaseStack} alt="Datenbanken" className="hidden" />
</div>
</div>
<div className="grid">
Expand Down
5 changes: 2 additions & 3 deletions src/components/Timeline.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,7 @@ const Timeline = () => {
return (
<div className="timeline container">
<Heading>Timeline</Heading>
<p>The past few years, I’ve been increasingly productive and worked with many teams, who administer and
maintain creative projects within the ranges of my tech-stack.</p>
<p>In den letzten Jahren war ich zunehmend produktiv und habe in vielen Teams gearbeitet, die kreative Projekte innerhalb meines Tech-Stacks verwalten und pflegen.</p>
<div className="wrapper">
<div className="year">
<div className="heading">
Expand Down Expand Up @@ -102,7 +101,7 @@ const Timeline = () => {
</div>
</div>
</div>
<p className="highschool">Highschool</p>
<p className="highschool">dt. Abitur</p>
</div>
);
}
Expand Down
Loading

0 comments on commit 954389d

Please sign in to comment.