Or i just messed up some pointers or i got the text (probably both because I made just a replace 01 by 00) :p
Lang.bin is probably your file but it's encoded with a costum encoding (= you need to make a table to see the text).
What is sure is that you really choosed a big hard bone to chew on.
All .olz files are compressed and are a custom archive with all data inside (graphics/sound etc..) that you need for that "screen / location" in the game with an own file system.
It seems that after the file is decompressed, there is probably still data compressed again (compressed data inside the just decompressed file) but the filesytem with names is visible at that point and some text in SJIS format (part of the names if I am not wrong). It's possible that there is more text inside that compressed data.
There is alot of text that are graphics as well.
There are 10 fonts in the game all compressed in BIOS ID x10 in one archive file but the fonts themself are compressed in the format GBA Xbpp and with variable height for each tile.
Names and pointers of this fonts are in 2 separates files.
In poor words, you probably need some custom made tool to manage the olz files and maybe even a personalized lang.bin editor because if I am not wrong, the game use the format
offset 1, data size 1, offset 2, data size 2, etc.. (confirmed for the font archive but even more complicated in the lang.bin) most of the time in the pointer table.
The only good thing is that the font (at least the main font) has all the characters you will need for the translation and as you see on the screens above (rr and xr), you don't need to change the width of the letters.