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
