Hi there, Doux. I'm part of a team translating a GC game, so I might be able to give you a couple of good hints, although I'm quite the beginner myself.
First of all, I'm assuming you didn't change the text directly in memory. Where did you find the text you translated in your first picture? Since this is your first translation I guess you found it inside a BIN file. Other BIN files are likely to contain more uncompressed text as well, and then some of it can be in the DOL file as well (this one can be tricky though).
Pointer structure is not necessarily the same in every game due to different programming techniques, but I'll tell you about some pointer structures I've run across in the game we're working on, maybe one of these applies to your game:
A pointer table is usually a number of fields put together following a simple structure. They're easy to recognize because there's always a value that is incremented for each entry: that's the offset that entry is "pointing" to. The simplest table contain only pointers, but you can find tables that have pointers, size of the pointed entry and even name of the entry (if it's pointing at files).
Pointers in files are usually relative to the start of the table, that is, the address of what they're pointing at can be calculated as <offset_of_table> + <offset_in_pointer>. If text starts right after the table (that is, there's no extra 00 bytes between the last pointer and the text), the first offset in the table is equal to the size of the table.
For example, a table of only 4-byte pointers that starts with "00 00 03 b0" and is followed immediately by text tells you that the size of the table is 944 bytes and that there's 236 pointers (and therefore, 236 elements). If you want to make an editor to change the text inside that section of the file, your program has to rewrite the pointer table with the offsets of the new entries in Spanish. For example, in your picture "メニュー" is 4 2-byte SJIS characters (8 bytes), but once your editor changes it to "Menu", you'll just write 4 1-byte ASCII characters. The pointer to "Menu" would not change, but the pointers to all entries after that one will have to substract 4 from their values.
Pointer tables can have levels. That is, you can have a "Master Pointer Table" at the beginning of the file where each entry points at a different section of it, some of which will start with their own pointer table. If that's the case, the changes you make in that section (if it grows or shrinks in size) must be reflected in that Master Pointer Table.
Hopefully some of the files of your game adhere to these structures and you find this helpful.