Few comments:
@ redheadedrod
The beauty of the current system is that is simple, and each module is independent from another. Having an extra table to keep list of which module uses which "constant" would add extra level of complexity that would make XOOPS more open to something going wrong.
So it would be better to just offer a "dictionary" or "library" of translations, similar to "library of images". And the same way as module developer can select and use an image from a central repository, they could use, if they want, an existing translation. This would be much simpler.
And we could have a translation team to add the most popular translations to the central "dictionary", the same as we would do with images.
@ irmftan
I think, it's better to keep themes for customization related to "look & feel".
All 'localization assets", i.e. translations, images, and CSS files, should go to /languages folder.
As a user, I don't want to download my "German" files from several different folders. I want to download just one folder, copy it to one location and I am done.
As a translator, I don't want translate files in /language folder, and then go to /themes folder, and do it there.
As a designer who is working on templates in /themes, I don't want to have some language files floating around
So I think, this would be much simpler:
/language folder for all localization related files
/themes folder: for all design related files
It will also make it easier for XOOPS to find the right files. If you change the language in Preferences, it will look only for files in /language folder.
If you change a template set, it will look only in /themes folder.
I just like to keep things simple