Skip to main content
4 of 9
added 75 characters in body
birgire
  • 67.8k
  • 7
  • 119
  • 251

We could try to filter the WPLANG option locale (see e.g. this approach by @brasofilo or this one by @toscho ):

is_admin() && add_filter( 'locale', function( $locale )
{
    if( $lang = get_user_meta( get_current_user_id(), 'wpse_lang', true ) )
        $locale= $lang;
    return $locale; 
} );    

where we check if the current user has the wpse_lang user meta key set, with values like is_IS, da_DK, ...

Then we could add the language selection for each user, on the user settings page.

There we could use the wp_dropdown_languages() function, with the get_available_languages() function, to display the select-box for available languages.

birgire
  • 67.8k
  • 7
  • 119
  • 251