So, I am an American living in China, so I have lots of experience speaking to people with limited English skills, and more importantly have a lot of experience of having bad Chinese language ability and having people speak to me. Language is something we all do unconsciously and in nearly all cases we speak with other native speakers, so when speaking with a person with poor English skills keep this in mind:
- Speak each word distinctly and slowly, and put a pause between phrases.
- Use basic English. It shocks me how often Americans in China will use slang or use difficult words that there is no chance a Chinese person could recognize. So speak in very basic English, little kid English.
- Speak only about things in the present moment. Keep the conversation about things that you can point to, or things that are currently happening. If you start talking about something abstract it becomes way harder for the other person to understand. So say "That thing is cool" don't say "What do you think about the civil war in Syria?"
- Don't ask the other person questions. When someone asks you a question in a language you don't speak it is a terrifying and stressful situation where you will most likely make an idiot of yourself. You will put the other person so much more at ease if you just talk about yourself, and don't force the other person to speak. Let them jump into the conversation when they want to, if you put them on the spot it is very stressful for the other person.
- If you do ask them a question, answer your own question first, then direct the question to them. You want to give the other person as many hints as to what you are talking about as possible. When you ask someone a blunt question, they have no clues as to what you are talking about. So rather than "What was your major in College?" say "When I was in College I majored in Economics. What did you major in?"
- If the other person says "I am sorry, I don't understand" it does not mean the conversation is over. Even if they didn't understand what you just said, you can continue talking about something else. Also, don't feel the need to repeat something endlessly unless it is actually important. You can always just say "Ah, never mind" and start talking about something else.
- If you include them in whatever you are doing, don't treat them as a revered guest, just treat them as a normal person. If you put the spotlight on your new friend it will be extremely stressful for them to try and deal with all the attention when they don't speak the language It is much better to just say "Come with us, we are going to eat." Then let them be in the background while you talk normally with your other friends. Just let the other person chill in the background where they can relax, don't put them on the spot by asking them a bunch of questions in front of a group of people.
Speaking a second language is an interesting thing. Some days you have better language skills than others. And with your friends you can understand so much more than you can with a stranger. So if you become friends with a non-native speaker, give them time to open up. After a few meetings, and once you are familiar with the other person, they will probably be able to speak to you much more easily than they could on your first meeting. And remember, the other is person is just as smart as you, even if they can't speak your language so don't treat them like an idiot!