Some people take a longer time to acclimate to the new country. They take time to learn the language, because, let's face it, English is one of the more screwed-up languages to learn. It's not going to be perfect, and for some, it's not going to be fluent. Ever. There are going to be those who will always feel more comfortable speaking in their native tongue, and, because of the idiots who mock their attempts at English, won't even try to speak it in public. And then, when they can't bring themselves or aren't able to speak English yet, these same mocking idiots are the ones who complain about the "stupid immigrants" who won't speak English, or who "expect" everyone to speak their language when "everyone" speaks English here. I can understand getting frustrated because a person has yet to learn enough of the language to get by in common social circumstances. THIS DOES NOT MAKE THAT PERSON A BAD PERSON, NOR DOES IT MAKE HIM/HER STUPID. So stop bloody treating them as such!
*pant pant* Sorry. I know that there are many people who believe that as soon as a person moves to the States, it is his/her sacred duty to learn English. I don't happen to be one of them. Flame away, I don't care.