Language
You are not going to believe this: About 20 languages are spoken in India. Here is the list: Hindi, English, Assamese, Bengali, Gujarati, Kannada, Kashmiri, Konkani,Malayalam, Manipuri, Marathi, Nepali, Oriya, Punjabi, Sanskrit, Sindhi,Tamil, Telugu, Urdu (all official). They are not just different dialects. they are different languages.In addition there are about 1,650 dialects.

But, don't worry. Most people in cities speak/understand English, I mean Indian English. The British stayed in India for about 300 years. They taught Indians British English. Because of the influence of Indian languages, the British English in India has taken a turn to Indian English. Don't worry, people in cities understand about 90% of what you say and you will understand about 80% of what they say (you cannot do better than that!).