@Makein The text is in the *.sdl2 files. *.sdl2 files seem to only be text-related from what I can tell. I don't know the exact format of this file either (someone else will have to figure it out), but all of the text is in there in UTF-8 encoding. Here's a simple tool that will be enough to get the text out, but I wouldn't recommend using it quite yet for a translation. Someone else is going to need to come through and turn these scripts into actual useful tools for the project later if anyone really wants to translate this game.
https://gist.github.com/polaris-/bc05e32601582286d5f0
I have a few hints that may help improve you script. I tried it and it dumps a bunch of junk within the text, so I gave a quick look at the file too see if I could figure it out.
First, at 0x8, It have a 16 bits count to the first table. At 0xa, with 16 bits too, it have the Dialogs count (2nd table). At 0xc, the first table starts.
First table structure:
(Each entry have 8 bytes)
0x0 - Offset to Section B, that contains data probably related to how the text is displayed, and also contains a index to one text on the Text Table. Each entry on this table always have 8 bytes of size.
0x4 - Offset to Section A. On this table, each entry have variable size. First, you read a 32-bits integer, that is the number of sub-entries. Then, each sub-entry have 8 bytes. So, if you read 0x1, then the total size of this entry will be 0x4 + 0x8 = 0xc. For 0x2, it will be 0x4 + 0x8 * 2 = 0x14 and so on. If you read 0x0, the total size of the entry will be 4 bytes only (it doesn't contain any sub-entry).
After you finish reading the first table (that doesn't contain any pointer to the text itself btw), you start reading the second table, that ONLY contains pointers to the text data. On this table, each entry have 4 bytes only, and is a pointer to a text.
Therefore, if you wish to dump only the text data, you can read the count of the first table, then skip First_Table_Count * 8, and start reading the text pointers.