We could try to filter the locale (see e.g. this approach by @brasofilo or this one by @toscho ):WPLANG
option
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.