Heidelberg — town in the Western Cape province, South Africa