Locale bar full labels + broader FR/NB translation pass

- Locale bar now shows "EN edition / Cahier FR / NB utgave" (via localeMeta) instead of just EN/FR/NO
- Increase locale bar button size (font-size 0.88rem, padding 0.4/1.1rem, height 46px)
- education.astro: translate hero eyebrow, h1, lede, editorial note, bullets
- writing.astro: translate Boris Vian feature panel (title, subtitle, body, CTA)
- business.astro: translate AI Bubble feature panel (title, subtitle, body, CTA)
- boris-vian-2026.astro: translate eyebrow, sidebar, article kicker, source credits
- kongsberg-jazz-2026.astro: translate eyebrow, sidebar, field report labels, cross-promo, source credits
- ai-bubble-2026.astro: translate eyebrow, sidebar, field report labels, source credits
- Add untracked data files ai-bubble.ts and boris-vian.ts

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-17 23:58:26 +02:00
parent 2a06888fd6
commit d8b44b34ce
10 changed files with 771 additions and 51 deletions
+4 -4
View File
@@ -5,7 +5,7 @@ import LocaleCopy from "../components/LocaleCopy.astro";
import LocaleSwitcher from "../components/LocaleSwitcher.astro";
import SectionMark from "../components/SectionMark.astro";
import { getSectionHref, launchSections } from "../data/site";
import { footerCallouts, getChromeCopy, localizedSections, policyLinkCopy } from "../data/locales";
import { footerCallouts, getChromeCopy, localeMeta, localizedSections, policyLinkCopy } from "../data/locales";
interface Props {
title?: string;
@@ -84,15 +84,15 @@ const chromeCopy = getChromeCopy({ activeSlug, issueDate, articleKey });
<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>
🇬🇧 <span>{localeMeta.en.switcher}</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>
🇫🇷 <span>{localeMeta.fr.switcher}</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>
🇳🇴 <span>{localeMeta.nb.switcher}</span>
</button>
</div>
</div>