Add i18n support with NL/EN language switching (ST-001)
- Add English translations to cv-data.ts with getCvData(lang) helper - Create app/[lang]/ routing with static generation for nl and en - Add language switcher in nav (NL / EN toggle) - Add middleware for Accept-Language auto-redirect on root path - Root layout reads x-lang header to set <html lang> correctly - All components accept lang prop and render translated content Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
61e603b5d7
commit
d352a7d496
13 changed files with 540 additions and 177 deletions
|
|
@ -1,7 +1,9 @@
|
|||
import { FadeIn } from "./fade-in";
|
||||
import { CV_DATA } from "@/lib/cv-data";
|
||||
import { getCvData, type Lang } from "@/lib/cv-data";
|
||||
|
||||
export function MotivationSection({ lang }: { lang: Lang }) {
|
||||
const data = getCvData(lang);
|
||||
|
||||
export function MotivationSection() {
|
||||
return (
|
||||
<section
|
||||
id="motivatie"
|
||||
|
|
@ -17,7 +19,7 @@ export function MotivationSection() {
|
|||
className="text-[13px] font-semibold uppercase mb-3"
|
||||
style={{ color: "#c2339b", letterSpacing: 3 }}
|
||||
>
|
||||
Motivatie
|
||||
{data.ui.motivation.label}
|
||||
</p>
|
||||
<h2
|
||||
className="font-serif font-normal mb-7"
|
||||
|
|
@ -27,11 +29,11 @@ export function MotivationSection() {
|
|||
letterSpacing: -1,
|
||||
}}
|
||||
>
|
||||
Waar ik naar zoek
|
||||
{data.ui.motivation.heading}
|
||||
</h2>
|
||||
|
||||
<div className="max-w-[760px]">
|
||||
{CV_DATA.motivation.map((paragraph) => (
|
||||
{data.motivation.map((paragraph) => (
|
||||
<p
|
||||
key={paragraph}
|
||||
className="text-[15px] leading-[1.8] mb-5 last:mb-0"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue