In Pakistan, different ethnic identities live and normally have grievances against each other. Almost all the ethnic identities take pride in their respective cultures, especially language e.g., Pashtunes, Baluchis, Sindhis, etc. But Punjabis, which comprise biggest ethnic identity in the country, normally do now take pride in speaking their native language. They either use Urdu or English to interact with each other. They do not normally let their children speak Punjabi. Parents speak Punjabi with each other but speak Urdu with their kids.
What theories explain this phenomenon? One explanation is that when a community feels itself politically and economically deprived, it strives to claim a 'nationality' rather than an ethnic identity, and therefore, focuses on the native language - a characteristic of a nation. Sometimes dialects of the same language are claimed as separate language because of the political and economic differences between people speaking these dialects.
Other than that what theories can explain this phenomenon?