how to have __() translating in languages different from admin?

Filter locale if is_admin() is TRUE:

is_admin() && add_filter( 'locale', function() {
    return 'it_IT';
});