Ten years of bad SO questions demonstrates that language barrier is rarely the reason why a question gets a bad reception. It’s not much of a problem unless someone posts a post entirely in a different language, which happens, but it is rare.
The most common bad questions by far are rather the zero-effort ones, such as asking why your code isn’t working while not actually showing any code. Anyone can tell that the question isn’t answerable, yet someone asked it still.
These should preferably had been prevented from getting posted live on the site in the first place, through smart scripts, wizards or review. If that fails, the question should simply get deleted, as quickly and as frictionless as possible.
Lots (all?) of the new user friction on SE comes from the bad question just sitting there while everyone is raging at it, down-voting, posting comments, close-voting, closing… and the question is still there, even after closing. Really rubbing it in - and the Internet never forgets. If the question had just been rapidly deleted instead, it would have been better for everyone.
Programming communities in particular have a long tradition of elitism and rudeness - why it is like that is another story, but you don’t want to throw newbies at these kind of people. It just takes one rotten egg to ruin the reputation of the whole site.
Instead I would favour an approach with less drama. If you post something on a site and get a private message back (personal or auto-generated): “Hi there were some problems with your question so we couldn’t keep it. Could you do x instead and re-post it?” You’d sigh and mutter a bit, but you’d probably still make the attempt. Like when failing some captcha.
The key is: if you want people to improve, don’t shame them in public. That will just cause tension and aggression, and the chance of them actually improving after that is slim. Rather, they will leave and talk trash about you elsewhere, to get revenge. Instead take them to the side and explain the problem in private. This is just management basics: give praise loud in public, give critique discreetly in private.