Why are country names localized and city names not?
Solution 1:
I think this question starts from a false premise. Both country names and city names are sometimes translated, sometimes not. I am no expert in this matter, and I won't offer a tentative explanation as when or why this happens. But from my standpoint it's easy to observe that plenty of city names (as well as country names) change depending on what language you are speaking. A couple of examples off the top of my head:
- Antwerp / Antwerpen / Anvers / Amberes
- The Hague / Den Haag / 's-Gravenhage / La Haya
So I wouldn't attempt to explain why country names and city names behave differently. I don't think they do.
Solution 2:
Generally speaking, the oldest, most famous names are localised, the less well known ones and more recent ones are transliterated. Countries are generally much more famous than cities, and smaller cities (or countries) that are never talked about have no need for any name, whether close to the original or not.
Some places have changed their official name, e.g. Côte d'Ivoire has requested that the name "Ivory Coast" and other translations no longer be used in all languages: "Côte d'Ivoire" is the only name acceptable to them.
Australia and Australian cities are almost the same in other languages because of the short history of European settlement (since 1788). Nobody calls the western half of Australia "New Holland", the eastern half of Australia "New South Wales" (now a much smaller state), or Tasmania "Van Diemen's Land" any more.
In French "London" is "Londres", although most French places are spelt the same in English. Some exceptions: both Lyon and Marseille have alternate spellings with an "-s" appended, i.e. "Lyon", "Lyons", "Marseille", and "Marseilles" are all valid English spellings. French Bretagne is called Brittany in English, and Bourgogne is called Burgundy. The former Haute-Normandie and Basse-Normandie were translated to Upper Normandy and Lower Normandy.
Glasgow is Glesga in Scots and Glaschu (pronounced something like "Klasahhu") in Scottish Gaelic. "Wales" (Cymru) is a toponym for "land of foreigners", as are many English place names starting with "Wal-" (e.g. Wallonia, Wallachia and Valais).
In the past, people didn't respect one another's cultures as much as today. This means that nicknames and sloppy translations were acceptable as the proper names for places. Nowadays, in our much more politically correct environment, any new names that are offensive get protested against until they're changed. It's only the old, offensive names where the offence has been long forgotten that remain.
Solution 3:
An awesome question. In my opinion the origin of the custom dates back to times where, countries were, like you yourself said, less stable.
For example I am from Estonia. In our native language, it is called Eesti. Our neighboring country Finland, calls Estonia Viro because, before there was Estonia, before Estonia was under Danes, Germans and Russians. The people in the most northern part of Estonia, right next to Finland called theirselves Viru people.
Latvians call Estonia Igaunija for the exact same reason, the southern part of Estonia was historically (~1200) called Ugaunia (estonian) and Ugaunia (latin).
As for cities, I kind of disagree with you. Some cities really aren't that stable, they rise and fall, they get conquered and renamed by the new leader. Of course the big ones we know and their names aren't forgotten in times. But small ones get important and unimportant all the time. So the second biggest city in Estonia Tartu has had many names in the last 1000 years - Tartu, Tarbatu, Dorpat, Dorpt, Derpt, Jurjev.
So I think that the famous city names are just that famous that the names become a natural part of our languages and the small ones are just that insignificant that people all over the world don't bother translating.
Solution 4:
Some city names are certainly localized - compare "Moscow" and native "Moskva", Jerusalem and native "Yirushalayim", etc. But to localize all city names would be too much trouble, so I guess only the names of the cities that are very prominent and frequently used get such treatment.
Also probably the ones that were known for a long time, since in the past the exposure of different cultures and language environments to each other was much less frequent and deep, so it was easier to adopt "wrong" localization of the city name. E.g., if you don't have too many Russians around, difference between "Moscow" and "Moskva" is not obvious, and the former is easier to pronounce, so it becomes the custom one.