How do I cheat?
Joined: 22 Nov 2020
|Posted: Sun Nov 22, 2020 6:19 am Post subject: How to change language of game with CE?
|Some games do not support changing language once we open the game.
For example, some steam games only allow changing language in game properties setting in steam, not allowing players to change their language in in-game setting.
This time, I want to approach game hacking by trying to change language on games like this, while we are running the game.
I picked up one steam game to try, I dissected mono and there's a class called localization, with methods described below.
GetLanguage() : String
GetTranslationForKey(key : String) : String
LoadLanguageStrings() : Void
SetLanguage(languageCode : String) : Void
And static fields inside the class are :
currentLanguageCode (type String )
translationsByLanguage ( type Dictionary<String, Dictionary<String, String>> )
hasLoaded ( type Bool )
When I first run this game and trace how this game loads languages upon the language setting outside the game(in steam game properties),
First, every time I go to main menu, game executes methods above on following order :
Then after this first serial execution, GetTranslationsForKey is executed every frame. until I go back to main menu again.
This is what I have researched so far. Now I'm stuck what am I supposed to do to change this game's language dynamically, in game?
Can anyone give me any idea how I can approach this?