In terms of the city names, I think you can have it two ways:
- The first would be the simplest, which would be to have a list of civ-accurate city names for the region in which they would be present (Eg. Egyptian names in areas ruled by or in contact with Egypt) and then another list of modern / otherwise ahistorical names for regions in which the civ wasn't present (eg. America).
- The other would require more work, and that would be to work out the language conventions of the civ (eg. Japanese has, in most cases, a vowel after every verb, with exceptions for long sounds [eg. tta], compounds with 'ya / yu / yo' [eg. kya] and the character 'n' [eg. Ronin]). This way, for when an ahistorical scenario takes place (such as conquering America), the local name is put into that civs language conventions (eg. Japan founding a city where Christchurch, NZ is would be 'Kuraisutochachi'). I haven't looked at the code so I don't know the limitations of it, but this would most likely be way too much work unless there's a way to automate the name changes somehow.