Hacking Homebrew ROM Hack Homebrew game Translation Project How can I translate a Nintendo DS rom as simply as possible? This is primarily about pure text changes!

Arksor

Member
OP
Newcomer
Joined
Jun 16, 2024
Messages
9
Trophies
0
Age
20
XP
17
Country
Germany
So I want to translate the game Theresia from English into German. The game is also available in Japanese, but since I have a few English skills and the English version is official, I'll use that.
Well, at the beginning I thought it would be really easy. I'll just take the original text, put it in the translator, adjust the grammar a bit and be done, but nope.
I saw a video on YouTube where someone used a hex editor, but this turned out to be difficult because the German pronunciation is often longer or has more characters, so I overwrote the following hex code, which meant that the game wouldn't start anymore. Then I saw in the comments that you can just unpack the ROM and change the text file. I thought that was super easy until I opened the txt file and realized that (for me) there was only nonsense in the file.
Can someone help me? or am I doing something fundamentally wrong?

And why all this? Well, I think the game is really cool, especially because it runs on the Nintendo DS and as I already mentioned, I'm not exactly the best English speaker
 

N7Kopper

Lest we forget... what Nazi stood for.
Member
Joined
Aug 24, 2014
Messages
1,055
Trophies
1
Age
31
XP
1,397
Country
United Kingdom
You need to first figure out how the game stores its text. If it's not in ASCII or Unicode, that'll take more knowledge than simply throwing tools at it (unless said tools already exist of course!)
 

YuseiFD

Well-Known Member
Member
Joined
Jul 6, 2016
Messages
645
Trophies
0
Age
34
XP
2,802
Country
This is a very vague question to be honest, nothing is simple, it's all logic, and as soon you understand said logic, it'll become more clear on what step you need to take to move on. As @N7Kopper said, you need to understand how the game stores and reads the text, encoding apart, you need to figure out how to overcome string max length if the translation is exceeding provided space.
 

Arksor

Member
OP
Newcomer
Joined
Jun 16, 2024
Messages
9
Trophies
0
Age
20
XP
17
Country
Germany
This is a very vague question to be honest, nothing is simple, it's all logic, and as soon you understand said logic, it'll become more clear on what step you need to take to move on. As @N7Kopper said, you need to understand how the game stores and reads the text, encoding apart, you need to figure out how to overcome string max length if the translation is exceeding provided space.
OK, that makes sense, but how do I find out whether it is written in ASCII or Unicode? When I unpack the game data, there are, as I said, many text files in the folders, but what is in the text files is incomprehensible
 

YuseiFD

Well-Known Member
Member
Joined
Jul 6, 2016
Messages
645
Trophies
0
Age
34
XP
2,802
Country
OK, that makes sense, but how do I find out whether it is written in ASCII or Unicode? When I unpack the game data, there are, as I said, many text files in the folders, but what is in the text files is incomprehensible
What game is it ?
 

Arksor

Member
OP
Newcomer
Joined
Jun 16, 2024
Messages
9
Trophies
0
Age
20
XP
17
Country
Germany
Ohh gotcha. That's cool, honestly. I don't have much knowledge about translation, but I hope you can do it.
Yes, luckily it is available in English, because it is of course much easier for a German with basic school English to translate a game from English to German than from Japanese to German.
I hope someone can help me with the technical part of how to decode it
 

Micolash

Active Member
Newcomer
Joined
Jan 15, 2024
Messages
38
Trophies
0
XP
177
Country
Netherlands
Games files are usually proprietary unless they use a well known engine (ex: Unreal Engine, Unity .. etc)

Without any programming knowledge, it will be tough.

But if you're willing to learn. I would start with the following:

  • First you need to unpack the nds rom to individual files.
  • Then you need to identify where the script/texts files are located.
  • Search the internet to see if there are existing tools to decrypt/unpack/pack these files.
Here are some resources to get you started:
nds unpacker - https://github.com/Luca1991/NDSFactory
QuickBMS forum is a good place to start for scripts and/or help with specific files. https://aluigi.altervista.org/quickbms.htm
 
  • Like
Reactions: Arksor

Arksor

Member
OP
Newcomer
Joined
Jun 16, 2024
Messages
9
Trophies
0
Age
20
XP
17
Country
Germany
Games files are usually proprietary unless they use a well known engine (ex: Unreal Engine, Unity .. etc)

Without any programming knowledge, it will be tough.

But if you're willing to learn. I would start with the following:

  • First you need to unpack the nds rom to individual files.
  • Then you need to identify where the script/texts files are located.
  • Search the internet to see if there are existing tools to decrypt/unpack/pack these files.
Here are some resources to get you started:
nds unpacker - https://github.com/Luca1991/NDSFactory
QuickBMS forum is a good place to start for scripts and/or help with specific files. https://aluigi.altervista.org/quickbms.htm
So I unpacked the files with the tool, there is a folder narmens scripts when I open a file I only see incomprehensible
 

Attachments

  • Screenshot 2024-06-23 010834.png
    Screenshot 2024-06-23 010834.png
    97 KB · Views: 26
  • Screenshot 2024-06-23 010859.png
    Screenshot 2024-06-23 010859.png
    115 KB · Views: 24

Micolash

Active Member
Newcomer
Joined
Jan 15, 2024
Messages
38
Trophies
0
XP
177
Country
Netherlands
So I unpacked the files with the tool, there is a folder narmens scripts when I open a file I only see incomprehensible
seems to be encrypted, so there is where your journey to programing begins or ends.

You can try asking for help to decrypt/encrypt the files, but this will require some reverse-engineering knowledge.

wish you good luck.
 
Last edited by Micolash,

1w_faith

New Member
Newbie
Joined
Aug 10, 2024
Messages
1
Trophies
0
Age
34
XP
4
Country
Finland
I happened to take a peek yesterday. The /data/system.txt is SHIFT_JIS. On Linux you can use iconv -f SHIFT_JIS input.txt to make it readable. Doesn't seem to work on /script/ folder files at all. Unicode SHIFTJISX0213 on the common.txt in /script/ gives some sort of dev comment(?) but it barely manages to process the text so no idea there.
 

master801

Well-Known Member
Member
Joined
Feb 24, 2011
Messages
1,240
Trophies
1
XP
2,691
Country
United States
Many bad techniques and methods were suggested here.

Unpack the ROM file (very easy to do - I won't explain it), then poke around the files in a hex editor.

I recommend Hexinator because you can select a varying degree of different text encodings.

Then after you figure it out, you'll need to make your own tools (because chances are, no tools already exist) to extract and insert the text data.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    DexterYeen @ DexterYeen: and I actually enjoyed working there