Editing binaries is potentially annoying on the DS.
The DS ARM9 and ARM7 binaries are copied into memory on boot of the game and stay there until the end, I have not seen any evidence of self altering code but it is not impossible. When new code wants to be loaded in the DS commercial games employ so called overlays. The overlay system involves a section of memory that is set aside and premade code fragments are loaded in as necessary Some games have just one overlay section, others can have many at different locations.
Equally the ARM7 binaries in commercial games are typically a type of reference library, indeed you can even swap the ARM7 between games of a similar vintage and it will typically carry on working. Not much game code happens in them but they are a nice place to hook.
DS binaries and overlays can be compressed. They use a custom type of compression most refer to either as DS binary compression or more accurately as a type of BLZ (backwards LZ, mainly as it starts from the end and works backwards in a file). The compression tends to be noted in the overlay table so you can disable compression that way. DS binary compression is well documented though. http://www.romhacking.net/utilities/826/
has decompression and compression tools (and source code) and crystaltile2 has support as well, though I will note I have had a few false positives with CT2.
I have never seen encryption or true obfuscation in DS binaries, some types of anti piracy used binary checksums and some AP itself had minor obfuscation, and you have the usual thing either bad coders or cheat prevention coding practices do. This should not trouble text editing though.
Once you have a decompressed binary you are not quite out of the woods. The two main problems will be you are probably back using classical memory aware pointers as opposed to the common DS/filesystem using console method of file level pointers. http://problemkaputt.de/gbatek.htm
, specifically http://problemkaputt.de/gbatek.htm#dsmemorymaps
is something you can all read though. DS binaries do not always get put at the start of memory but most assembly tools will handle this and the locations are stored in the header (and ct2, ndsts http://www.no-intro.org/tools.htm
and whatever else will all tell you what goes there).
Theoretically you can still encounter more file level pointers, calculated/referencing pointers and whatever else but I would not go there.
The bigger problem tends to be finding space to do what you want. If you are translating Japanese to something that does not have a massive character set then you can do an 8 bit conversion. Otherwise you get to find space in the memory somewhere (easier said than done if you need it to be available all the time) https://gbatemp.net/threads/unofficial-desmume-build-unused-memory-finder-tool.349332/
has something, my personal favourite is to look for the wifi error codes as they are often long and fairly pointless (especially now DS wifi is down and the only people really using the alternatives should already know what goes). A slightly less fancy tool is deadbeef padding, http://filetrip.net/nds-downloads/utilities/download-dsatm-4-3-4-f27609.html
will attempt to flood fill the memory with DEADBEEF so whatever still has it however far into the game
Theoretically you could use your own overlay, most people tend to be discouraged from this in favour of dragging their own code in manually though.
If you want to get really flash then the GBA slot is available and memory mapped. This can give you a nice 32 megs of read only memory at fairly low latency (though access times are still notably higher than CPU to normal memory). Equally it might trouble various users of your hack, though technically it would be hardware compliant.
Oh and it does not sound like it in this case but several games on the DS used various interpreted languages (commonly Lua) so more dynamic memory allocation is not unheard of.
That was the long and hard version, you might still face compression but that is easily sorted. If you can instead keep the lengths the same (or shorter and pad it out) then that is often a better method, find yourself a thesaurus and possible figure out how to do dual tile encoding for the fonts you have.