They aren't dirty, they're scratched. Polishing is required, not cleaning. I suggest polishing compound, which is like rubbing compound, but finer. Light touch, soft clean cotton cloth, then follow up with windex after wiping clean, to remove petroleum based compound.
They make a kit that comes in a silver/aluminium foil type package that works well.Autozone or Advance Auto carries it.I have also used Never Dull which comes in a silver can that done a great job too.The new Wipe New advertised on tv and sold at Freds and sometimes Walmart seems to work also
Light grade rubbing compound. Less than 5 bucks at any auto parts store. They will also sell lens cleaning "kits" but they cost more and pretty much to the same thing at triple the cost. If you wish you can try common tooth paste. Not as strong as rubbing compound of course but it may get rid of a bit of the cloudiness.