When legal immigrants take the oath of citizenship, the oath and ceremony should be given in English only. If they want to become American citizens and have the right to vote, they have to communicate in the English language when doing business, shopping, banking, etc. They can speak whatever language they want at home or when they are with people who understand their language.
It is sad when you can't speak to your own neighbors because they don't know English. When the oath of citizenship is taken, they should say the Pledge of Allegiance and sing the national anthem. When they become American citizens their allegiance is to America, not the country they came from.
There are many places teaching English, so the opportunity is there. They just have to take advantage of it. Also they have to follow the American laws. Not the laws of their old countries.