Translation I want to learn how to translate 3DS games!

Sie

Member
OP
Newcomer
Joined
Jun 7, 2024
Messages
12
Trophies
0
Age
24
Location
Texas
Website
beacons.ai
XP
94
Country
United States
Unfortunately, I have no idea where to start or how to do this. I'm very interested in learning and it feels like something I'd easily latch onto and spend all my time working on. There are so many Japanese exclusive 3DS games that I really would love to play, but the language barrier is tough.

Can someone point me in the right direction? <3
 

cearp

瓜老外
Developer
Joined
May 26, 2008
Messages
8,855
Trophies
2
XP
9,143
Country
Korea, North
If you're a complete beginner, play a little by getting familiar with making cheats. That will get you used to how this kind of stuff works, working with data, hex etc. As you will need to find where in the rom the text data is and how it's stored.
A few times if there's been a section of the game where you can get up a keyboard, like when naming your character etc, you can use that to find how each letter is represented is hex. You could enter A in the text entry, search for an unknown value, then delete A and enter B and search for an increase of 1. You'll eventually find how characters are stored.
Can use that to find where text data is.

Sometimes the text might be stored in a really simple way, could be in a csv file even! Or could be in some custom format that'shard to understand.
Each game will be a bit different.

For the harder situations, a debugger can really help here. I've used it in NO$GBA to 'break' (puase execution of the game) when the game reads some dialog data, then I manually step through the game bit by bit to see how that dialog is interpreted.

Once you understand where the text is and how it's stored, then you can create a tool to extract and inject that data automatically.
I'd recommend using Python for that. Then you dump all the text, translate it and put it back.

If you're putting back more data that was already there / that there's room for, you may need to do some gentle reverse engineering in order to move your new dialog data to a different location.

Newer games are probably easiest as things can be stored in a more accessible way due to modern framekworks and storage not being a big issue.
Older games can be harder as there's no real filesystem, and there are space limitations.


- Forgot to add, graphics would also most likely need to be translated.
Again the graphics can be stored in a different way game by game... but once you've gotten experience with the text hacking, editing graphics should be manageable :)
 
Last edited by cearp,
  • Like
Reactions: Tokiwa and Sie

Sie

Member
OP
Newcomer
Joined
Jun 7, 2024
Messages
12
Trophies
0
Age
24
Location
Texas
Website
beacons.ai
XP
94
Country
United States
If you're a complete beginner, play a little by getting familiar with making cheats. That will get you used to how this kind of stuff works, working with data, hex etc. As you will need to find where in the rom the text data is and how it's stored.
A few times if there's been a section of the game where you can get up a keyboard, like when naming your character etc, you can use that to find how each letter is represented is hex. You could enter A in the text entry, search for an unknown value, then delete A and enter B and search for an increase of 1. You'll eventually find how characters are stored.
Can use that to find where text data is.

Sometimes the text might be stored in a really simple way, could be in a csv file even! Or could be in some custom format that'shard to understand.
Each game will be a bit different.

For the harder situations, a debugger can really help here. I've used it in NO$GBA to 'break' (puase execution of the game) when the game reads some dialog data, then I manually step through the game bit by bit to see how that dialog is interpreted.

Once you understand where the text is and how it's stored, then you can create a tool to extract and inject that data automatically.
I'd recommend using Python for that. Then you dump all the text, translate it and put it back.

If you're putting back more data that was already there / that there's room for, you may need to do some gentle reverse engineering in order to move your new dialog data to a different location.

Newer games are probably easiest as things can be stored in a more accessible way due to modern framekworks and storage not being a big issue.
Older games can be harder as there's no real filesystem, and there are space limitations.
You're awesome for this. Thank you. I will dabble in it a bit over the next year and slowly learn this stuff
 

The Real Jdbye

*is birb*
Member
Joined
Mar 17, 2010
Messages
24,265
Trophies
5
Location
Space
XP
15,599
Country
Norway
Unfortunately, I have no idea where to start or how to do this. I'm very interested in learning and it feels like something I'd easily latch onto and spend all my time working on. There are so many Japanese exclusive 3DS games that I really would love to play, but the language barrier is tough.

Can someone point me in the right direction? <3
You won't be translating anything if you're not fluent in the original language.
 

cearp

瓜老外
Developer
Joined
May 26, 2008
Messages
8,855
Trophies
2
XP
9,143
Country
Korea, North
You won't be translating anything if you're not fluent in the original language.
I can and will but thanks!
Sure but first things first is to be able to edit the text - many (most?) translations seem to be done by a few people, one for translation, one for the hacking (as I write about above) etc.
Once you've already completed the text hacking part, then "anyone" able to translate can do the translation :)
(Don't need hacking skills for that)

Maybe it's like trying to find people to build a machine with you, much easier and less of a risk of wasting people's time if you already have all of the parts and instructions :D
 
  • Like
Reactions: Tokiwa and 4d1xlaan

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
  • realtimesave @ realtimesave:
    basement would be a nice place to hide
  • BigOnYa @ BigOnYa:
    You close to @AncientBoi then...he should adopt you and show you the ropes. S&M themed nights.
  • realtimesave @ realtimesave:
    @BigOnYa I'm too old to be adopted now, n not responsible enough to care for @Xdqwerty like u are :)
    +1
  • K3Nv3 @ K3Nv3:
    When ancientboi acts out just push the stop lever works for me
    +1
  • K3Nv3 @ K3Nv3:
    Don't know if it's an age thing but I can kind of tell when I'm in dreamland is werid
  • realtimesave @ realtimesave:
    lucid dream?
  • BigOnYa @ BigOnYa:
    Play Russian Pilloutte with him, mix up his pills n have him take one...is it blood pressure med, or is it Viagra... You will find out.
  • K3Nv3 @ K3Nv3:
    I got REM from eeg reading apparently
  • BigOnYa @ BigOnYa:
    "What's the frequency Kenneth" - REM...ironic
  • K3Nv3 @ K3Nv3:
    Guess they gay moan in my sleep gave it away
    +1
  • BigOnYa @ BigOnYa:
    "Ooh yeah Psi, it puts the lotion on me."
  • K3Nv3 @ K3Nv3:
    Psi didn't even know he was a grandpa
    +1
  • BigOnYa @ BigOnYa:
    I bet most kids in his town look like him, giggity.
  • AngryCinnabon @ AngryCinnabon:
    so burned out tonight lol
  • AngryCinnabon @ AngryCinnabon:
    i need to sleep soon methinks
  • realtimesave @ realtimesave:
    gotta work tomorrow come home n find my packages :)
  • K3Nv3 @ K3Nv3:
    Don't let your packages get stuck in the zipper
  • chrisrlink @ chrisrlink:
    same cin same
  • chrisrlink @ chrisrlink:
    before i forget merry wana
  • chrisrlink @ chrisrlink:
    i still had eh 30 mins to say it
  • chrisrlink @ chrisrlink:
    damn no pot brownies in my easter basket damn it
  • Sicklyboy @ Sicklyboy:
    damn rip
  • Sicklyboy @ Sicklyboy:
    same tho
  • Sicklyboy @ Sicklyboy:
    I did find out today though that my cool aunt smokes weed lmao
    Sicklyboy @ Sicklyboy: I did find out today though that my cool aunt smokes weed lmao