"I blame the British." - no, blame the French.
Up until the late 20th century, the "lingua Franca" of international travel was French. Diplomacy and international treaties were (and often still are) in French. Passports are in French. And you had to learned French if you wanted to travel in order to communicate with the local guides, hotelkeepers etc.
So if you asked somebody in French what a place was called, they told you the French name, and that is what went in to the guidebooks.
Hence we have:
Rome (same in French), Milan (=French), Florence (=French), Venice (French "Venise"), Munich, Cologne, Prague (all French)
Austria (French "Autriche", nothing like the actual name in German "Österreich"), Vienna (French "Vienne", German "Wien").
Lucerne (French, German: "Luzern").
And in Belgium, at the time of WW1, the only official language was French, so all maps were in French, and the famous battle site went down in history as "Ypres", but if you try to go there today you will find a town called "Ieper".