The election's are only a couple of weeks away and the Tories are scared of a trouncing following a lot of public anger surrounding the cuts, their inability to create real growth, the failure of the NHS reforms and finding money to bomb Libya despite cutting things here.
In times like this, it's not unusual for a government to find a scapegoat to deflect attention from their own failures. The scapegoat is usually immigrants and today Cameron is announcing that he is against immigrants who can't speak English and that Labour let in too many.
Normally this deflection tactic works but the timing is very obvious being so close to the elections and only a day after the Health Secretary had a 'no confidence' vote against him. They can no longer blame cold-snaps or Labour for the current state of the economy so need the oldy but goody 'it's the immigrants!'
Will it work this time? Probably as this country has a good track record of producing useful idiots who will attack their fellow poor people rather than the people who are really making their lives hard.