Just figured out how translations work in Pangya!
Depending on region and language of the client, the game executable targets a different .dat
file in the game folder, this is baked hard into the client. These DAT files include every single translatable string seperated with a null-terminator.
Pangya is using a sort of “homebrew” version of gettext.
It works like this:
In the interface definition XML files, all strings are in korean. The game loads in those files, and then searches for that exact string in korea.dat
, which is packaged in every version of Pangya. Once the string was found, it saves the index, and then searches for the index position inside the [language].dat
specified in the client and then displays that string.
So, when you want to extend your own interface with custom text, be sure to change/add it in both the korea.dat
and the language file of your client and it should work just fine!