One thing you can generally count on with game hacking is that the game's text will be in large contiguous chunks. The catch here - and this is one of those "hard if you're a beginner, easy if you're experienced" things - is that you can't just start changing strings willy-nilly.
See, the game has to know where to look for each of those strings, and it accomplishes that via a pointer table - a large continuous chunk of memory addresses each corresponding to the start of one of those strings. When the game wants to find, say, string 57, or 105, or 23A (that last one's not a typo - that's hexadecimal!), it can just do a simple multiplication (in binary, multiplying a number by 2 is as easy as adding a "0" to the end - we call that "left-shifting") to figure out where to find the pointer for that string, then start reading the string based on the pointer value.
The "TL;DR" of all this is that if you change the text without changing the pointers, the game is still going to be looking for its text in the old locations.
To a newbie, this is devastating news: "aww, but that means I can't make strings any longer than they were originally!" To someone more experienced, this is par for the course: "I can use an inserter like Atlas (or just write my own) to update the pointers for each string as I reinsert them." What seems like a brick wall to a beginner is just a simple hurdle for an experienced hacker. In fact, it gives us carte blanche to put our text anywhere those addresses can point to - on GBA, for instance, we can not only make our strings as long as we want, we can put them anywhere there's free space!
So the bottom line here is, it's not terribly hard to get a script out of the game, edit it, and then put it back in. Though it does involve some steps that are outside of the comfort zone of most newbies coming here. There's no friendly GUI for the tools involved - it's all command line stuff. You might be tempted to try doing all your work in a hex editor, but believe me, that way lies madness. Imagine moving a mountain of sand one grain at a time - that's what translating using a hex editor is like. Hex editors are useful for stuff like visually verifying data (and making sure you have the game's table right), but a saner workflow is to get the script out of the ROM using a tool like romjuice or Cartographer (both command line-based), edit it using a plain text editor (e.g. Notepad!), and then reinserting it using Atlas or a custom inserter (also command line-based). One nice thing about command line tools is that they're easy to automate; you can write a batch file in Notepad which will run a sequence of command line instructions with a double-click, for instance (and it's best you set up something like this, as typos can have nasty consequences when you're working with a command line).
Which brings me to one final word of advice: don't make changes directly to the ROM if you can help it. Your batch process should copy a clean version of the ROM and make all the necessary changes - inserting your script, your modified graphics, your ASM hacks, etc. It will save you a ton of headaches keeping all your changes separate until they're ready to be compiled into the ROM.