Den här demon visar LangSwitcherPlugin som lägger till en språkväxlare längst ner i drawer-menyn.
Öppna drawer-menyn (hamburgermeny) och scrolla ner till botten för att se språkväxlaren.
✓ Placering: Språkväxlaren visas längst ner i drawer-menyn med en separator-linje ovanför.
✓ Svenska läge: Visar 🇬🇧 "Switch to English"
✓ Engelskt läge: Visar 🇸🇪 "Växla till svenska"
Klicka på språkväxlaren längst ner i menyn för att byta språk
⚠️ Standard beteende: Sidan laddar om automatiskt när språk byts.
Detta säkerställer att all innehåll uppdateras korrekt till det nya språket.
Du kan lyssna på navbar:languageSwitch eventet för att hantera språkbyten:
Du kan också använda en callback istället för att ladda om sidan:
Med anpassad callback: Sidan laddas INTE om automatiskt.
Du kan hantera språkbytet själv, t.ex. uppdatera innehåll med JavaScript.
window.addEventListener(
'navbar:languageSwitch',
function(event) {
const { oldLanguage, newLanguage } = event.detail;
console.log('Språk bytt från', oldLanguage, 'till', newLanguage);
// Uppdatera din apps innehåll här
}
);
// Byt språk programmatiskt
SweNavbar.setLanguage('en');
// eller
SweNavbar.setLanguage('sv');
<script>
window.NAVBAR_CONFIG = {
language: 'sv', // Startar på svenska
drawerEnabled: true
};
</script>
<script src="../navbar/navbar.js"></script>
// I navbar-konfigurationen kan du skicka in en plugin-konfiguration
// som inkluderar LangSwitcherPlugin med custom callback
import { LangSwitcherPlugin } from './plugins-swedac/LangSwitcherPlugin';
const navbar = new NavbarCore({
language: 'sv',
drawerEnabled: true
});
// Lägg till LangSwitcherPlugin med custom callback
navbar.pluginManager.registerPlugin(
new LangSwitcherPlugin({
reloadOnSwitch: false, // Ladda inte om sidan
onLanguageSwitch: function(newLanguage) {
console.log('Nytt språk:', newLanguage);
// Uppdatera innehåll dynamiskt
updatePageContent(newLanguage);
}
})
);
// Lyssna på språkbyte för att t.ex. logga analytics
window.addEventListener('navbar:languageSwitch', function(event) {
const { oldLanguage, newLanguage } = event.detail;
// Logga till analytics
if (window.gtag) {
gtag('event', 'language_switch', {
'from': oldLanguage,
'to': newLanguage
});
}
// Spara användarens språkpreferens
localStorage.setItem('preferred_language', newLanguage);
});
Bäst för statiska sidor eller server-renderad innehåll.
Bäst för SPA (Single Page Applications).
✓ Tangentbordsnavigation: Språkväxlaren kan nås med Tab och aktiveras med Enter eller Space.
✓ ARIA-attribut: Korrekt roll och tabindex för skärmläsare.
✓ Visuell feedback: Hover-effekter visar att elementet är klickbart.
✓ Tydliga flaggor: Visuella indikatorer för båda språken.
Öppna drawer-menyn för att testa språkväxlaren