document.addEventListener('DOMContentLoaded', () => {
  const map = {
    'de-de': 'Sprachauswahl',
    'de-at': 'Sprachauswahl',
    'de-ch': 'Sprachauswahl',
    'fr-ch': 'Sélecteur de langue',
    'fr-be': 'Sélecteur de langue',
    'nl-be': 'Taalkeuze',
    'nl-nl': 'Taalkeuze',
    'en': 'Language selection'
  };

  // Get the current page language from the <html> tag
  const pageLangRaw = (document.documentElement.getAttribute('lang') || '').toLowerCase();
  const pageLang = pageLangRaw.replace('_', '-'); // Normalize underscores to hyphens
  const generic = pageLang.split('-')[0]; // Extract base language (e.g. 'fr-ch' → 'fr')

  // Choose the best matching label, fallback to English
  const label = map[pageLang] || map[generic] || 'Language selection';

  // Add aria-label to all Polylang language switchers if not already present
  document.querySelectorAll('select.pll-switcher-select').forEach((el) => {
    if (!el.hasAttribute('aria-label') && !el.hasAttribute('aria-labelledby')) {
      el.setAttribute('aria-label', label);
    }
  });
});
Anfrage

Nichts gefunden.