Variable naming and team members who speak another language
convention, naming
Solution
Change the requirements for members of your team -- they must have an adequate understanding of written English.
Edit: in response to Bill K's comment, it seems to me that the cost of dealing with poor communication problems isn't factored into the savings calculations. No, I've never worked with overseas developers, but I do work with 2 non-native English speakers and communication goes a little slower with them sometimes, even though they've both lived in the USA for 20 years.
Also, I wasn't expecting my answer to be the most useful. Just trying to make a point. If you wouldn't hire someone to work in your office, then why would you hire them to work for you from the other side of the globe? Even if you're going through an agency, you are indirectly hiring every developer that works on your code.
My experience has been that when it comes to development talent, being cheap can be quite costly.
Problem
I work with several developers in India and one of our biggest difficulties is their naming of variables. At first I was very frustrated and couldn't understand why they wouldn't just properly name things (was it laziness?) However, I realized that they probably aren't used to naming variables, becausee all of the code they read is in English, and the English words they read have little or no meaning to them. It seems obvious now, but it is impossible to name variables well if you cannot understand English adequately. How would you work towards better naming practices with a foreign speaking team member? Sorry if this is a little subjective, I have marked it community wiki. Thanks!