Yes, it is multi-language. I tested with my original cart, and it selects based on which language the DS itself is set to. I have to assume that it just determines the starting point (the file, I suppose, outside Crystaltile) for all the text it calls up after that, based on that original setting.
It's cool that you're interested in learning how to hack this game. Especially since V and VI on the DS seem to mostly follow the same layout, so what you learn could be applied to those, and probably other DS games besides.
However, for my part, I'm a beginner too. I've just been dealing with altering the English text, and not figuring out how the game engine actually calls it up. The text is broken up into sections like 'all the day dialogue for Branca, prior to the refresh after you get Nara/Mara.' Or, a simpler one, 'All the Item Shop text.' Such sections have a block of pointers first, then the text. I'll describe that if you like. The format is index number, 00, text length, 00, relative position from the beginning of the section's text (divided by 4), 00. All in hex, with overflow above FF / 255 going into those extra 00s. I posted a few pages back about it for another request, and I'm glad I did, because I had to jog my memory about the technical stuff after taking a year off from this project.
So you can tell the pointer sections from their large vertical lines of 00. The spells were easier due to short length, but I have moved around a few dialogue pointers as well now. That screenshot above from the weapon shop with "This is my honest advice... I think you'd better keep that." That's an example of where I didn't have enough space for the message I wanted to use, and decided to shift the next text section forward to expand it. Making sense of the text pointers when they overflow into the next byte can get confusing, but at least they're easy enough to locate. Even if you don't want to do the math on the character count and position from the start so that you can ctrl-f search for it, you can just flood the whole section where you think it might be with FFFFFFFFFFFFF - and then play the game to see if the correct bit of dialogue is screwed up.
Lately I've been experimenting more with the codes the game uses to call variable text. For instance, it often references the name you assigned to the Hero with the exact text %a00090. And the M/F gender text division uses %A090%Xsome male text%Ysome female text%Z. Obviously there's a similarity between those two codes; not sure if that's a coincidence. Not long ago I changed my process for filling unwanted blank space yet again to just repeatedly copy-pasting %A090%X%Y%Z, and it works great, though I cringe at the torture it must be putting the text parser through. There are a few other codes like this that I recognize. Generally the combat message section uses them a lot to call up monster names, items, spells etc. I have thought about how these are probably understandable memory addresses... they're not absolute locations in the text, anyway, since any of the item or monster names can be referenced. Anyway, these codes might provide some insight into how the game manages stuff.
Anyway, let me know if you find anything interesting! For me the holy grail would be altering monster stats or player stat gain, to alter the challenge and restore some of the need to grind and purchase equipment in the early chapters. I'd also love to destroy the bag to prevent people stocking up on totally safe amounts of herbs - that's one of the factors in why modern RPG dungeons ended up being so neutered and boring; it's the same reason why Resident Evil needed to restrict your inventory to create tension. But I suspect that getting rid of the bag would be problematic, since the game is often sending stuff to the bag automatically.