I have come across a good few of these over the years (mostly emanating from S. Africa), and seem to remember being told that they were veterans' badges. I am not so sure about this, as I would have thought that a true Transvaaler would be uneasy about wearing the ZAR arms enamelled in the incorrect colours. It seems to me that it would be akin to a Tommy wearing a green, white and orange Union Jack. On top of this, one of the designs (top centre) has an additional quadrant containing a cow or ox, which does not conform to the official arms.
So far, every example I have seen has had a different colour combination.
At the bottom are a gold and a silver badge, both of which are of the correct colour and design. These were made in the UK for the South African market (silver example marked "Sterling Silver"), and may well have been intended as veterans' badges.
Any ideas?
..