Skip to content

Instructions on how to change the language of FF9 on Steam to Japanese

Notifications You must be signed in to change notification settings

davidluzgouveia/ff9-steam-japanese

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Final Fantasy IX (Steam) Japanese

For some reason, even after you change the language options for Final Fantasy IX on Steam to Japanese, the game still plays out in English, despite all of the Japanese data being in the game. This was disappointing for me who likes to use these games as a practice tool.

Fortunately it was quite easy to modify the game's code to force the language into Japanese. There was already a patched version of the file floating around the forums, but I prefer to do it myself and know exactly what was changed, as well as knowing how to redo it in case the game gets an update in the future.

Instructions

  1. Open Steam\steamapps\common\FINAL FANTASY IX\x64\FF9_Data\Managed\Assembly-CSharp.dll with dnSpy.

  2. Using Edit->Search Assemblies search for GetSystemLanguage (which is a method inside the SettingsState class on the global namespace).

Search Assemblies Search

  1. Double-click on the search result, then right-click on the method's name and choose Edit Method (C#)...

Edit Method

  1. Replace all of the method's body with return "Japanese";

In other words, this:

public string GetSystemLanguage()
{
    SystemLanguage systemLanguage = Application.systemLanguage;
    switch (systemLanguage)
    {
    case SystemLanguage.English:
        return "English(US)";
    default:
        if (systemLanguage == SystemLanguage.Italian)
        {
            return "Italian";
        }
        if (systemLanguage == SystemLanguage.Japanese)
        {
            return "English(US)";
        }
        if (systemLanguage != SystemLanguage.Spanish)
        {
            return "English(US)";
        }
        return "Spanish";
    case SystemLanguage.French:
        return "French";
    case SystemLanguage.German:
        return "German";
    }
}

Becomes:

public string GetSystemLanguage()
{
    return "Japanese";
}
  1. Hit Compile, then File->Save Module with the default settings, on top of the original file.

Compile

That's it! The game should now run in Japanese. Don't be fooled by the title screen, it still shows up in english, but the bottom left corner should read JP.

Game

Notes

  • If at any point you want to go back to the original language, just use Steam's built-in Verify integrity of game files... option. Or keep a backup of the original file yourself.

  • Very Important: If you happen to go into the Language Selection screen inside the game, and explicitly choose a language, the game will start ignoring the mod and uses that language instead. To make things worse, this change seems to be automatically saved and will persist even if you quit the game. I've found a few workarounds for this issue:

    • If you have your Japanese save file uploaded to the cloud, then you can just download it to revert the language.

    • If you don't care about your save file, you can delete it from AppData\LocalLow\SquareEnix\FINAL FANTASY IX\Steam\EncryptedSavedData.

    • Alternatively, you can use dnSpy, search for the Read method inside SharedDataBytesStorage, and change the line that says this.SelectedLanguage = binaryReader.ReadInt32(); into this.SelectedLanguage = -1; to make the game ignore the language on the saved data.

About

Instructions on how to change the language of FF9 on Steam to Japanese

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published