feat(i18n): configure French as default language without URL prefix

- Set French as default language with URL '/' (no prefix)
- Set English language with URL '/en'
- Replace hardcoded language buttons with dynamic links
- Fix invalid HTML (remove <a> inside <button>)
- Add aria-current attribute for accessibility

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
isUnknown 2026-02-11 12:40:10 +01:00
parent 3de6bf4234
commit e228c1757e
3 changed files with 11 additions and 3 deletions

View file

@ -5,4 +5,5 @@ return [
'direction' => 'ltr', 'direction' => 'ltr',
'locale' => 'en_US.UTF-8', 'locale' => 'en_US.UTF-8',
'name' => 'English', 'name' => 'English',
'url' => '/en',
]; ];

View file

@ -6,4 +6,5 @@ return [
'direction' => 'ltr', 'direction' => 'ltr',
'locale' => 'fr_FR.UTF-8', 'locale' => 'fr_FR.UTF-8',
'name' => 'Français', 'name' => 'Français',
'url' => '/',
]; ];

View file

@ -56,8 +56,14 @@
</button> </button>
<div id="lang-toggle"> <div id="lang-toggle">
<button disabled>FR</button> <?php foreach($kirby->languages() as $language): ?>
<button><a href="/en">EN</a></button> <a
href="<?= $language->url() ?>"
<?php e($language->code() === $kirby->language()->code(), 'aria-current="page"') ?>
>
<?= strtoupper($language->code()) ?>
</a>
<?php endforeach ?>
</div> </div>
<button id="menu-toggle"> <button id="menu-toggle">