Imagine the scenario where the Mauryans somehow are the first to settle X="20" Y="58" way beyond where Rule 1 applies for them. We could give them an artificial name like "New Mathurā" to signify they are out-of-place. This would require an "out-of-place" city list for each culture, which is what I meant by a colonial list.
I'd prefer to avoid names unrelated to the position for that mod's scope.
But culture-related doesn't mean "culture territories" related, if I understand correctly what you call colonial list could be the culture-related names that are already in the YnAMP's list for cities that have never been under control of a civilization, but for which "what if" were added.
for example, from YnAMP's list:
I think you catch the meaning, but to apply it to this scenario: If the Romans had settled Roma, and the Persians occupied the city in war, but the city retained Roman culture, would it default to a Persian name for Rome or keep Roma?
Yep, that the kind of question we need to answer if the code logic doesn't give us something we want.
In case of capture, renaming would be done after the war's resolution, and the mod would use owner, not culture influence (when renaming the mod will look at the best name for that position and that owner, without knowing who was the ancient owner, ie applying rules 1-2-3 in order)
I'd say just have it use a standard or "base" form of the name for those without culture-defined names, which I suppose could either be the English name or the local form (Rome v Roma).
I think the first one of your options looks preferable Gedemon, it seems easier to automate its creation potentially.
By local, you mean historical territory ?
I think for rule #2 I will cross-check with the territory list of known Cultures for TCL anyway, I can see strange stuff happening else.
I'll use the first formatting then.
What about aliases, for sharing list ? A rules 1.1, if no direct culture-related name is found, try to found one from a list of other cultures before moving to rules 2-3 ?
For example "Civilization_Era4_TokugawaShogunate" could share the "_JAPAN" tag from the list above with "Civilization_Era6_Japan"
Then if "Edo Japan" settle in Novogardia, the mod will find the locale key "LOC_CITY_NAME_ST_PETERSBURG" and try to apply the rules:
- check if "LOC_CITY_NAME_ST_PETERSBURG_TokugawaShogunate" exists
- 1 else check if "LOC_CITY_NAME_ST_PETERSBURG_JAPAN" exists
- else loop potential names for other cultures and select "LOC_CITY_NAME_ST_PETERSBURG_RussianEmpire" ("Sankt-Peterburg") closest match fitting Era/Territory rule (territory check here would prevent using "San Petersburgo" from HK Spain that match "Edo Japan" era)