4586N/A2000-04-01 ast message catalog plan
4586N/A to match xopen and the internal naming in our implementation
4586N/A and also to more closely match the webster definition
4586N/A (catalog == enumerated list)
(2) nmake by default will
CATALOG = $(ID:N=+([A-Za-z0-9_]):?$(PWD:N=*/lib/*:Y,lib,,)$(ID)?$(PWD:B)?)
ERROR_CATALOG == "$(CATALOG)"
nmake will add "[--catalog?$(CATALOG)]" to USAGE_LICENSE
commands that don't emit messages before optget() need not change
otherwise the command should
undefined references to { USAGE_LICENSE ERROR_CATALOG } are hard
(3) add catalog argument to libcmd <
cmd.h> cmdinit(argv, context, catalog)
(4) msgcat global target build msgs/*.mso and $(CATALOG).msg
each Makefile will generate one catalog $(CATALOG).msg where
the *.msg files are weird -- we need to build them viewed over an
architecture specific tree, even though they will be eventually used
as architecture independent source
$(CATALOG).msg will be the "C" locale
debug will be a debugging locale that will translate each message to
(CATALOG-NAME:MESSAGE-INDEX)\n
this will make it easy to locate text that escaped translation (in what
should be translated output); it will also be a way for us to do
regression tests in the face of typo fixes -- presumably typos can be
fixed without changing the message index
(5) once all this is working I'll do catopen(3) and msggen(1)
(6) the makerules "all" action will
and the makerules "install" action will copy the catgen output to
$(LOCALEDIR)/$(LOCALE)/LC_MESSAGES/$(CATALOG)*
NOTE: still under consideration