This code allows the game to detect the language, enabling you to change some stuff on the fly depending on it.
Then find and open up the game_strings.csv files of every other language you want the game to detect. Add the new string according to the file format there (don't forget the str_ tag), but with different integer strings for each game strings file:
1, 2, 3,... , f, 10, ... (in hexadecimal system)
Disclaimer: You don't have to include all of the new operations in your header_operations.py, but the face-related ones are necessary.
("hair_code", "0"),
1, 2, 3,... , f, 10, ... (in hexadecimal system)
["dummy","Dummy","Dummy",tf_hero|tf_unmoveable_in_party_window,0,reserved,fac_player_faction,
[],
str_4|agi_4|int_4|cha_4,wp(15),0,0x000000018000000136db6db6db6db6db00000000001db6db0000000000000000],
[],
str_4|agi_4|int_4|cha_4,wp(15),0,0x000000018000000136db6db6db6db6db00000000001db6db0000000000000000],
("detect_language",
[
(str_store_string, s0, "str_hair_code"),
(troop_set_face_keys, "trp_dummy", s0, 0),
(str_store_troop_face_keys, s1, "trp_dummy", 0),
(face_keys_get_hair, ":hair", s1),
(assign, reg1, ":hair"),
]),
[
(str_store_string, s0, "str_hair_code"),
(troop_set_face_keys, "trp_dummy", s0, 0),
(str_store_troop_face_keys, s1, "trp_dummy", 0),
(face_keys_get_hair, ":hair", s1),
(assign, reg1, ":hair"),
]),