How to change the frontend language in WordPress depending on the browser language

Very simple, just put this snippet into the function.php. You maybe have to tweak it, if the language code coming from the browser isn’t after the standard.

add_filter( 'locale', 'set_my_locale' );

function set_my_locale( $lang ) {
    
  $langs =  substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
  
  if ( !empty($langs)){
    if ($langs == "de") $langs = "de_DE";
    if ($langs == "fr") $langs = "fr_FR";
    return $langs;
  } else {
    // return original language
    return $lang;
  }
}

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s