Hmm... I have noticed the inconsistency without downloading lupq or wary quickset./usr/lib/locale/
/usr/share/i18n/locales/
/usr/share/locale/
/usr/share/doc/nls/
/usr/local/share/locale/
/usr/X11R7/lib/X11/locale/
/usr/local/apps/ROX-Filer/Messages/
/usr/share/doc/*/nls/ (***note these are usually for DOTpot or DOTpo files [micko])
/usr/local/*/locals/
/usr/share/*/locale/
/usr/share/*/templates/
The convention for compiled apps, as long as they are compiled --prefix=/usr, is for the DOTmo files to go in /usr/share/locale/$LANGUAGE_CODE/LC_MESSAGES/${PROGRAM_NAME}.mo
This is where all compiled gettext DOTmo files should go. So if one creates a script and localises it with gettext (which should be the standard) then the main DOTpot file is translated as a ${LANGUAGECODE}.po file then compiled into a $PROGRAM_NAME.mo file which resides where said.
The exception (for the moment) is zigbert's method, which I used in Quickpet. It is basically just reading a special $LANG file in the program's working directory. I guess this is where it get's messy. I have approached zigbert but he is quite busy until the next northern winter.
I suppose what we need to do is apply the standards, that is, everyone who scripts should learn to use gettext and where the locale file should be stored. It's not difficult. Even I roughly learnt some of it!
Cheers!