I noticed that there is locale/es.po that contains translations of many
of maxima's messages. Does this actually work? It doesn't for me.
AFAICT, intl.lisp looks for messages in directories like
locale/es/LC_MESSAGES/maxima.mo when the locale is "es" and the domain
is "maxima". I played around a bit and moved locale/es.mo to
locale/es/LC_MESSAGES/maxima.mo. Then I manually set the locale and
domain to "es" and "maxima". That's not enough. I added
(intl:textdomain "maxima") at the top of src/comm.lisp and recompiled.
After doing all of this, messages are translated. Pretty nice!
Although I'm basically illiterate, perhaps we should fix these things so
our literate friends can read maxima messages in their own language?
Here is what I think needs to be done:
o Put (intl:textdomain "maxima") in each src file. Or at least set it
when compiling maxima.
o Adjust intl::*locale-directories* appropriately so maxima-local can
find the translations.
o Move es.po to locale/es/LC_MESSAGES/maxima.po.
o Maxima should call (intl:setlocale) to set the locale from the
environment variables on startup.
Ray