There is a bit of work to do to replace all our descriptions with TXT_KEYs. I also think we should consider merging all our Text xmls into a single file since this is what big mods like FFH2 have done and it is tidier.
You are right about the proper way to do this. Since there is no way to distribute an English and French version of the unit xml, this is in fact the only way to do it. There is some relevant history.
In DW 1.0, keldath did a lot of his editing by removing TXT_KEY_... in the unit, building, etc files. In a few cases, later in DW development, I put this back. But not in all cases. In particular the unit and building files have this problem, which means hundreds of changes are needed to put this back to the right way.
All of the DW specific text is in fact in a single file, DuneWarsText.xml. However, DW is built on top of dozens of different mods, all of which came with their own text files, some of which do have language translations. I don't recommend to move the text from different mods, into the DW text file; that would just be more confusing. So there is no "cleanup" we should do here. For translating DW, focus on DuneWarsText.
In order to be language-friendly, the DuneWarsText.xml file contains copies of the English text for all the other languages. This way, if a player has their language set to German for example, at least the mod will still come up. If the language tags are missing, the mod won't start at all. But at the same time, a mod developer should not be slowed down by the need to make five copies of all his new strings. So instead, all of the strings currently go into DuneWarsText.txt one time, and a script is used to make all the language copies of the string into DuneWarsText.xml. (If you just look into these two files this will be quite clear.)
Adding a French file is an excellent idea, but the existing script approach will no longer work. One possibility is to stop using DuneWarsText.txt and the script. In this case we will maintain DuneWarsText.xml only, and developers will have to make four copies of the text strings plus ask calvitix to provide the French string. Another possibility is to change the script so that it has two input files DuneWarsTextEnglish.txt and DuneWarsTextFrench.txt, and it merges them intelligently to create DuneWarsText.xml. I don't have the time to create such a script right now.
I hope that helps a little to agree on the best approach.