Resource icon

Rosetta - Dynamic City Names 1.4

SeelingCat

Prince
Joined
Oct 27, 2016
Messages
497
Location
US
Rosetta returns for Civ 7!

Adding over 350,000 names for over 10,000 cities, Rosetta changes your city names - settled and conquered - to match your civilization's (or leader's!) language, allowing for a sense of cohesion and immersion as you chart your people's journey through three eras of history!

Please note that, at this time, it is not possible to rename cities owned by the AI - only human-owned cities can be renamed. All the more reason to conquer far and wide!

New to the Civ 7 edition of Rosetta are names and languages that change over the course of an era - as the Normans you'll start the Exploration Age with Norman and Old French names, before eventually transitioning to Middle English! Names may also change when conquered by certain civs or leaders - or when their owner changes governments!

Compatible with multiplayer!

Example - Before (as Bulgaria) and After (as Russia):
20250406145558_1.jpg
20250406153426_1.jpg



 
Last edited:
For Modders adding new Leaders or Civilizations:

Generally, all you'll need to do is tell the game what language(s) you want your leader or civ to use, and match up your civ's cities to the tags used by Rosetta. I'll include the steps here, but if you have any issues - feel free to message me here or on the Modding Discord; I can also add it on Rosetta's end as well if you let me know!

Step 1 - Create Tables:
You'll need to make sure a few tables are created: Leaders and Civs need SC_RosettaLanguageAssignments (which tells Rosetta what languages to use for your civ/leader); only civs need SC_CityLOCRenameDatabase (which maps your civ's city names to the tags used by Rosetta). Examples of how to create these tables that you can copy/paste into your mod can be found below:
Spoiler Table Set-up :

SQL:
CREATE TABLE IF NOT EXISTS SC_CityLOCRenameDatabase
(    LOCName                                 text,
    RosettaTag                                text,
    PRIMARY KEY (LOCName)
    );

CREATE TABLE IF NOT EXISTS SC_RosettaLanguageAssignments
(    CivLeaderTag                             text NOT NULL,
    Language                                text NOT NULL,
    Priority                                integer NOT NULL default 0,
    StartYear                                integer,
    EndYear                                    integer,
    PRIMARY KEY (CivLeaderTag, Priority)
    );


Step 2 - Language Assignments:
Let's define what language(s) your civ or leader uses! You can either do this via sql or xml, depending on your preference, but we'll use a sql example for reference:
SQL:
INSERT OR REPLACE INTO     SC_RosettaLanguageAssignments
        (CivLeaderTag,                Language,        Priority,    StartYear,    EndYear)
VALUES    ('CIVILIZATION_INCA',        'AYMARA',        1,            null,        1493),
        ('CIVILIZATION_INCA',        'QUECHUA',        2,            null,        null),
        ('CIVILIZATION_INCA',        'AYMARA',        3,            null,        null),
        ('CIVILIZATION_INCA',        'LOCAL',        4,            null,        null);

A civ or leader can have as many languages associated with it as you like, but each must have a different Priority number (and don't skip numbers here either!). The game tries to find a name in ascending priority, and will keep checking until it either finds a name or runs out of languages. In this example, the Inca's first choice is an Aymara name - but only if the in-game year is before 1493! If it can't find one - or if it's after 1493 - it will check for a Quechua name, then an Aymara name (for post-1493 cases), and then a 'Local' (AKA indigenous) name. You can also set a StartYear if you only want a language to be used after a certain year.

If you're civ or leader doesn't need any fancy year shenanigans, you can also use a simplified form of assignment - ignoring the StartYear and EndYear columns, as seen below with Charlemagne:
SQL:
INSERT OR REPLACE INTO     SC_RosettaLanguageAssignments
        (CivLeaderTag,                Language,        Priority)
VALUES    ('LEADER_CHARLEMAGNE',        'RIPUARIAN',        1),
        ('LEADER_CHARLEMAGNE',        'PALATINE',            2),
        ('LEADER_CHARLEMAGNE',        'LUXEMBOURGISH',    3),
        ('LEADER_CHARLEMAGNE',        'GERMAN',            4);

Here we can see that Charlemagne will try to use different Germanic dialects before defaulting to standard German if no dialectical names can be found.

A list of languages in Rosetta can be found here under the 'Languages' tab.

Step 3 - City Assignments (civs only!):
Here, you'll just match up your civ's city names to the internal tags used by Rosetta. It's pretty simple, let's look at an example:
SQL:
INSERT OR REPLACE INTO     SC_CityLOCRenameDatabase
        (LOCName,                            RosettaTag)
VALUES    ('LOC_CITY_NAME_AKSUM1',   'AXUM'),   ---Aksum
        ('LOC_CITY_NAME_AKSUM2',   'ADULIS'),   ---Adulis
        ('LOC_CITY_NAME_AKSUM3',   'MATARA_ERITREA'),   ---Matara
        ('LOC_CITY_NAME_AKSUM4',   'LALIBELA');   ---Lalibela

Just put your civ's city names in the LOCName column, and the corresponding Rosetta Tag in the RosettaTag column.

A list of cities in Rosetta can be found here under the 'CityTags' tab.

Step 4 - The modinfo file:
Make sure the files with the above info are placed into an UpdateDatabase action that is part of an ActionGroup with a "game" scope and an "always" criteria. And that's it!

Note: If your civ or leader has a language or city that isn't currently included in Rosetta, feel free to shoot me a message either here or on the Modding Discord, and I'll be happy to add it!
 
Last edited:
Oops! That's what I get for making the thread right before bed I guess - if you could move it there, I'd be greatly appreciative!
 
A couple of special characters still aren't working D: Played as Carthage and had a 'Malet□', 'Mot□wa', and a 'St□psr'. Curiously, Qart-Hadast was fine on the map but would display as 'Qart-□adast' in narrative event popups.
Hmm - guess I'll have to do some more tests on the dots - thanks so much for reporting these!

Relatedly, if anyone has any good screenshots from using this mod, please feel free to post them here! I'd like to gather some more for the main post!
 
Last edited:
Here's some screenshots from my game using this mod! I was Carthage in Antiquity, and transitioned to Spain in Exploration.
 

Attachments

  • 20250502084745_1.jpg
    20250502084745_1.jpg
    596.9 KB · Views: 68
  • 20250502092020_1.jpg
    20250502092020_1.jpg
    608.2 KB · Views: 66
  • 20250502092030_1.jpg
    20250502092030_1.jpg
    591.6 KB · Views: 71
Hmm - guess I'll have to do some more tests on the dots - thanks so much for reporting these!

Relatedly, if anyone has any good screenshots from using this mod, please feel free to post them here! I'd like to gather some more for the main post!
Here's a couple from capturing cities in a recent game
 

Attachments

  • Screenshot 2025-04-30 135324.png
    Screenshot 2025-04-30 135324.png
    4.4 MB · Views: 27
  • Screenshot 2025-04-30 140225.png
    Screenshot 2025-04-30 140225.png
    4.4 MB · Views: 27
  • Screenshot 2025-04-30 140852.png
    Screenshot 2025-04-30 140852.png
    4.6 MB · Views: 25
  • Screenshot 2025-04-30 140928.png
    Screenshot 2025-04-30 140928.png
    4.7 MB · Views: 30
Back
Top Bottom