Add full trilingual EN/FR/NB support across all pages and data

- Convert all data files (site, profile, norway, jazz, projects, cv) to Record<LocaleCode, string> fields
- Update all page templates to use LocaleCopy component for locale-aware rendering
- Fix CSS specificity conflict: .locale-copy .locale-copy__text (spec 20) now beats container span rules (spec 11)
- Update LocaleSwitcher, BaseLayout, and SectionCard for locale prop types
- Design system overhaul: Special Elite font, burgundy #8f2218, DG seal favicon

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-17 23:23:14 +02:00
parent ffb368670c
commit 2a06888fd6
21 changed files with 1377 additions and 848 deletions
+16
View File
@@ -81,6 +81,22 @@ const chromeCopy = getChromeCopy({ activeSlug, issueDate, articleKey });
</script>
</head>
<body>
<div class="locale-bar" role="navigation" aria-label="Language selection">
<div class="locale-bar__inner">
<button type="button" class="locale-bar__btn" data-lang-button="en" aria-pressed="true">
🇬🇧 <span>EN</span>
</button>
<span class="locale-bar__sep" aria-hidden="true">·</span>
<button type="button" class="locale-bar__btn" data-lang-button="fr" aria-pressed="false">
🇫🇷 <span>FR</span>
</button>
<span class="locale-bar__sep" aria-hidden="true">·</span>
<button type="button" class="locale-bar__btn" data-lang-button="nb" aria-pressed="false">
🇳🇴 <span>NO</span>
</button>
</div>
</div>
<header class="site-ribbon">
<div class="container site-ribbon__row">
<LocaleCopy copy={chromeCopy.ribbonIssue} />