-
-
Notifications
You must be signed in to change notification settings - Fork 8
How to localise a Crusader Kings title
Horațiu Mlendea edited this page Jan 18, 2021
·
3 revisions
Suppose you want to add a new localisation for the norman
culture for the Oxford barony in Crusader Kings 3.
This guide applies to all supported Crusader Kings games, the only difference being the game ID:
- Crusader Kings 2 (vanilla):
CK2
- Crusader Kings 2 (Historical Immersion Project):
CK2HIP
- Crusader Kings 2 (Elder Kings):
CK2EK
- Crusader Kings 3 (vanilla):
CK3
So, for example, if you want to add the same localisation but for CK2 HIP, you would use CK2HIP
in all GameId
lines in this guide, instead of CK3
- Find the title ID for that title
- Look into CK3's original
landed_titles.txt
and search for it - Hint: it's
b_oxford
- Look into CK3's original
- Open
locations.xml
and see ifb_oxford
is already defined- Search for
<GameId game="CK3">b_oxford
using your text editor's search function - The title is there, defined for a location entity with the
oxford
ID
- Search for
- Open
languages.xml
and get the language ID for thenorman
culture- Search for
<GameId game="CK3">norman
using your text editor's search function - The ID in this case is
Norman
as seen in the<Id>
node
- Search for
- Go to the location in
locations.xml
(ID: oxford) - Inside of the
<Names>
list add a new line for this localisation- The format of the line:
<Name language="[THE_LANGUAGE_ID]" value="[THE_NAME_FOR_THAT_LANGUAGE]" />
- The resulting line:
<Name language="Norman" value="Oxford norman name example" />
- Try to keep the names list sorted alphabetically by language ID, to keep it more readable
- The format of the line:
E.g. the oxford
location entity does not have b_oxford
associated with it for CK3
Note: This is a hypothethical example, CK3's b_oxford
is already defined
- Go to the location in
locations.xml
(ID: oxford) - Inside of the
<GameIds>
list add a new line for this title- The format of the line:
<GameId game="[THE_GAME]">[THE_TITLE_ID]</GameId> <!-- [THE_DEFAULT_DISPLAY_NAME_INGAME] -->
- The resulting line:
<GameId game="CK3">b_oxford</GameId> <!-- Oxford -->
- Try to keep the names list sorted alphabetically first by game and then by value (title ID), to keep it more readable
- The
[THE_DEFAULT_DISPLAY_NAME_INGAME]
part is optional, but recommended when the display name is very different from the title ID
- The format of the line:
If the oxford
location entity does not exist at all, you need to add it from scratch
Note: This is a hypothethical example, the oxford
location already exists
The format of the location:
<LocationEntity>
<Id>[THE_LOCATION_ID]</Id>
<GameIds>
<GameId game="[THE_GAME]">[THE_TITLE_ID]</GameId> <!-- [THE_DEFAULT_DISPLAY_NAME_INGAME] -->
</GameIds>
<Names>
<Name language="[THE_LANGUAGE_ID]" value="[THE_NAME_FOR_THAT_LANGUAGE]">
</Names>
</LocationEntity>
The resulting location:
<LocationEntity>
<Id>oxford</Id>
<GameIds>
<GameId game="CK3">b_oxford</GameId> <!-- Oxford -->
</GameIds>
<Names>
<Name language="Norman" value="Oxford norman name example">
</Names>
</LocationEntity>
- Do not worry about which characters in a name are supported by CK3's font. Just write all the original characters, and the building tool will replace all the unsupported ones with their closest equivalents.