I'd just use fadeIn('fast') and fadeOut('fast') for the fading effect and then use a callback to hide the element. Something like this:
$('.lang1').mouseleave(function() {
$('.lang1 span').fadeOut('fast', function() { $(this).hide(); });
});
I think the simpler alternative would be to change the CSS to display:none;
and let jQuery handle the opacity when you have the mouse events trigger $('.lang1 span').fadeOut('fast');